查找历史命令 history | grep xxx
1、定义变量 变量名 = 变量值 // 驼峰命名
 2、复用变量 可使用$变量 或者 ${变量}
 3、查看变量 echo $变量名 set 显示所有的变量,包括自定义和环境变量
 4、取消变量 unset 变量名 作用范围: 当前终端
系统的环境变量 //全局变量
 export export 变量 ,将⾃定义变量转换成环境变量
定义的变量最好不要和系统变量相同 否则会被覆盖
 如:
 结果如下:
 
 系统变量显示当前 路径
 变量永久生效 需要在 /etc/profile 中使用export PATH =$ PATH: /test/bin
 然后使用source /etc/profile 进行生效
#! /usr/bin/bash
ping  -c1 $?&>/dev/null
  if [ $1 -eq 0 ];then
       echo  "$1 is ok !"
  else
       echo  "$1 is error!"
  fi
~                                                                               
~         
 

ping -c 1,表示只发送一个icmp echo_request 包
 &> /dev/null的意思就是把你运行ping命令的过程转向到/dev/null中,在linux中,/dev/null就是无底洞的意思,意思就是说,你ping命令执行的过程(一般会显示反回结果)你不想看到,所以就丢这里了。
 位置参数变量
 $1 、$2、$3、$4、$5、$6、$7、$8、
    
     
      
       
        8
       
       
        、
       
      
      
       8、
      
     
    8、{10} sh test.sh 参数1 参数2 …参数10
 预先定义变量
 $0 脚本⽂件名
 $* 所有的参数
 $@ 所有的参数
 $# 参数的个数
 $$ 当前进程的 PID
 $! 上⼀个后台进程的 PID
 $? 上⼀个命令的返回值 0 表示成功
 
 
 2.变量赋值⽅式
 read -p "提示信息: " 变量名
 定义或引⽤变量时注意事项: " " 弱引⽤ ’ ’ 强引⽤
 " "对于字符串 来说 echo “xxx” 显示xxx 解析里面的内容 内容如果是命令则解析不了 。
 ’ ’ 所见即所得
 $( ) 反引号中的 shell 命令会被先执⾏
 3.变量数值运算
 1.整数运算 expr + - * / % expr 1 + 2 expr $num1 + $num2
 2.整数运算 $(()) + - * / % echo $(($num1+$num2)) echo $((num1+num2))
 3.整数运算 $[ ] + - * / % echo $[5+2]
 4.整数运算 let + - * / % let sum=2+3; echo $sum
 5.⼩数运算 bc + - * / %
 echo "2*4"	|bc	
 echo "2^4"	|bc
 
4.变量删除替换(并不改变原变量的值)
1.从前往后删除变量内容 url =www.baidu.com
echo	${url#*.}   结果 baidu.com
 
//获取变量值的⻓度
[root@bgx	~]#	echo	${#url}
 
2.从后往前删除变量内容
echo	${url%.*}
 
3.索引及切⽚
echo	${url:0:5}	
echo	${url:5:5}
echo	${url:5}
 
4.变量内容替换
[root@bgx	~]#	url=www.sina.com.cn	
[root@bgx	~]#	echo	${url/sina/baidu}
                echo	${url/n/N}
                echo	${url//n/N}
 
5.变量替代
 ${变量名-新的变量值}
 变量没有被赋值:会使⽤“新的变量值“ 替代
 变量有被赋值(包括空值): 不会被替代
 ${变量名:-新的变量值}
 变量没有被赋值(包括空值): 都会使⽤“新的变量值“ 替代
 变量有被赋值: 不会被替代









