// 运算符 算数运算符 关系运算符 布尔运算符 字符串运算符 文件运算符 1、算数运算符 + - * / % = == != echo `expr 1 + 1`; echo `expr 1 - 2`; echo `expr 1 / 3`; echo `expr 1 % 4`; echo `expr 1 * 5`; // 乘号需要转义 加反斜杠 a=1. b=2 echo `expr $a - $b` // -1 if [ $a != $b ] then echo "a不等于b" fi 2、关系运算符 -eq -ge -le -ne -gt -lt // 关系运算符只支持数字,不支持字符串,除非字符串的值是数字 a=1 b=2. if [ $a -eq $b ] then echo 'a==b' else echo 'a!=b' fi 3、布尔运算符 !取反 -o 或 -a 并且 a=1 b=2. if [ $a -eq 1 -a $b == 2 ] then. echo 'a==1 && b==2' fi. 4、逻辑运算符 && || 外面两个中括号 a=1 b=2 if [[ $a -eq 1 && $b == 2 ]] then echo 'a==1 && b==2' fi 5、字符串运算符 = 相等 != -z 字符串长度是否为0 -n 相反 $ 是否为空 a='hello' b='hi' if [ $a = $b ] then echo 'a字符串和b字符串相等' else echo echo 'a字符串和b字符串不相等' fi if [ -z $a ] then echo ‘a字符串长度为0’ else echo ‘a字符串长度不为0’ fi if [ $a ] then echo ‘a字符串不为空’ else echo ‘a字符串为空’ fi 6、文件测试运算符 -d 是否是目录文件 -f 普通文件 -r 是否只读 -w -x -s 文件是否为空. -e 文件或目录是否存在 if [ -e '~/.ssh/hello.xxx'] then echo 'hello文件存在' else echo 'hello文件不存在' fi