一。 shell 里通常显示的字符串才加双引号,变量调用不需要加双引号,用于执行的命令加 `` 符号。
二。字符串里有空格的需要加双引号或者通过变量引用
三。[] 和 test命令功能相同
四。&&,||,-a,-o逻辑运算
五。=,eq两种通常是字符串用 eq,数字运算用=,shell里两者是一一对应的,可以混用
六。比较的几种常规用法:
1. 字符串直接比较
2.数字大小比较
3.通过变量长度,判断变量是否存在的或赋值
if [-n $xx] then ... 变量有被赋值
if [-z $xx] then ... 变量没被赋值
4. 对命令执行的返回做判断,类似$?
if ping -c 3 10.8.1.1 > /dev/null 2>&1; then...
不关心ping的输出结果,直接重定向到/dev/null,只关心ping命令执行的返回是0或是1,如果一个系统不应答“ping”,返回码就是非0