启动shell脚本方法:
1.bash xxx.sh
2.chmod +x xxx.sh (增加可执行权限)
3.source test.sh
变量的定义:
1.普通变量的定义: aaa=num
2.临时环境变量的定义: export aaa=num 利用export来声明一个环境变量
3.变量的引用$aaa
4.当用户退出终端之后所有的变量 都会被清除
5.在当前shell下设置的变量如果要在子shell下运行需要用export来声明,否则在子shell中引用时会输出为空(即没有定义)
位置变量:
1.指的命令之后的参数 $1 为命令之后的第一个参数 第10个参数之后需要带花括号进行调用 ${10},${11}
2.利用shift可以用于位置参数的变更(前移),如 命令后 有a b c三个参数,执行完$1之后 shift会把$2前移至$1,再次调用$1的值便是原先$2的值
特殊变量:(多用于判断命令行的参数)
1.$0:脚本本身的名字
2.$?:判断上一命令执行的结果:0代表成功,非0代表错误
3.$#:位置参数的总数 : 命令 a b c 那么$#就是三
4.$@: 将每个位置参数都看作独立的字符串 默认分隔符时空格
5.$*:把所有的位置参数看作为一条字符串
6.$$:查看当前shell下的子shell (PID)
7.$!:上一条运行后台进程的PID(目前不懂)
变量的引用:
1.= 是赋值运算符(等同于C) 但是=的两端不能有空格,因为在SHELL中默认是赋值字符串
2.+= 两个变量相加 VAR=123 VAR+=456 而$VAR输出后的值是123456 而不是我们期望中的579
3.利用$xxx引用的时候最好加上${ xxx},后者更为严谨,防止出现莫名其妙的错误
单引号和双引号的区别:
1.如果需要赋值的变量中含有空格的话需要为该值加上单引号或者双引号
2.如果该值中存在特殊的字符比如像$等符号如果是单引号的话会原封不动的把echo后单引号中的语句输出,而双引号则会去解析该特殊字符。
注释
在需要注释行的前面加上#即可