shell基础算术:
a=20
b=10
加 : echo `expr $a 空格+空格(下同) $b ` 输出:30
减: echo `expr $a - $b ` 输出:10
乘 : echo `expr $a空格 \*空格 $b ` 输出:200
除 : echo `expr $a / $b ` 输出:2
取余 : echo `expr $a % $b ` 输出:0
if,else判断语句:
基本语法:
a=10
b=20
if 空格[空格 $a 空格-gt(大于)空格 $b空格];then
echo "$a>$b"
else
echo "$a<=$b"
fi
输出:"10<=20"
判断比较命令:
-eq 意思:=
-ne !=
-gt >
-lt <
-ge >=
-le <=
布尔运算符:
! 非
-o or 且
-a and 与
例:
#!/bin/bash
a=20
b=30
if [ $a -lt $b -a $a -eq $b ]
then
echo "$a<$b and $a=$b"
else
echo "not and"
#!/bin/bash
a=20
b=30
if [ $a -lt $b -a $a -eq $b ]
then
echo "$a<$b and $a=$b"
else
echo "not and"
fi
if [ $a -lt $b -o $a -eq $b ];then
echo "$a < $b or $a = $b "
else
echo "not or"
fi
if [ $a -ge $b ];then
echo "20>=30"
elif [ $a -le $b ];then
echo "20<=30"
else
echo "no"
fi
结果:
字符串比较
-z : 字符串为空时返回true
-n: 字符串非空时返回true
例:
输出:
注意:当一个字符串为空时,$a就为空,那if [ $a = $b ]就等于if[ = $b ],有些情况会报错;
文件判断命令:
-x:判断是否为可执行文件
-e:判断文件是否存在
-w:判断文件可写
-r:判断文件可读
例:
输出: