// 运算符
算数运算符
关系运算符
布尔运算符
字符串运算符
文件运算符
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