一、整数运算
1.1 expr 整数1 运算符 整数2
计算指定的表达式,并输出结果,注意整数和运算符间必须有空格,而且乘号必须用*转义。很少使用,忽略。
1.2 $[整数1 运算符 整数2]
计算指定的表达式,并输出结果。整数和运算符之间无需空格,乘号无需转义,引用变量无需加$符号。计算结果直接替换表达式本身
必须背下来,对于取余计算来说,余数永远不可能大于被除数。
1.3 let 变量=整数1 运算符 整数2
计算指定的表达式,引用变量无需加$符号,结果不输出到屏幕,必须通过echo来输出结果
1.3.1 let i++
等同于i=i+1
1.3.2 let i--
等同于i=i-1
1.3.3 let i+=3
等同于i=i+3
1.3.4 let i-=1
等同于i=i-1
1.3.5 let i*=2
等同于i=i*2
1.3.6 let i/=3
等同于i=i/3
二、小数运算
2.1 bc
直接运行bc可进入交互式界面,quit退出
scale 控制小数点位数
实战中结合管道发送表达式,多个表达式必须用;分隔
echo "scale=2;2.2+5;5.5/3"|bc#小数点留2位,计算两个表达式的值
2.2 小数值的比较
比较符号有>,>=,==,!=,<,<=
如果表达式成立,结果为1;表达式不成立,结果为0
echo "1>2"|bc 结果0
echo "4>3"|bc 结果1
三、条件判断
3.1 条件判断的格式
[ 判断条件 ] 常用,注意判断条件和方括号之间的空格
test 判断条件
3.2 字符串
3.2.1 [ 变量1 == 变量2 ]
判断变量1是否等于变量2
3.2.2 [ 变量1 != 变量2 ]
判断变量1是否不等于变量2
3.2.3 [ -z 变量 ]
判断字符串的长度是否为0,即变量为空(zero)
3.2.4 [ !-z 变量 ]
相当于-n。判断字符串的长度是否不为0,即变量非空(zero)
3.3 命令行中如何执行多条命令
3.3.1 A;B
执行A,执行B。你我没半毛钱关系
3.3.2 A && B
执行A,仅当A成功,才执行B。有你才有我
[ $USER == ‘root’ ] && yum install -y httpd
3.3.3 A || B
执行A,仅当A失败,才执行B。有你没我,有我没你
3.4 整数值
多个条件组合时,可以使用 [[ .. ]] 界定
3.4.1 [ -eq 变量 ]
equal。等于
3.4.2 [ -ne 变量 ]
not equal。不等于
3.4.3 [ -gt 变量 ]
greater than,大于
3.4.4 [ -ge 变量 ]
greater or equal。大于或等于
3.4.5 [ -lt 变量 ]
less than。小于
3.4.6 [ -le 变量 ]
less or equal。小于或等于
3.4.7 [ -le 1 -[o,a] -ge 99 ]
-o或
-a与
3.5 文件或目录
3.5.1 [ -e 对象 ]
对象存在(Exist)为真
3.5.2 [ -f file ]
存在并且为文件(File)则为真
3.5.3 [ -d file ]
存在并且为目录(Directory)则为真
3.5.4 [ -r file ]
文件可读(Read)则为真
3.5.5 [ -w file ]
文件可写(Write)则为真
3.5.6 [ -x file ]
文件可执行(eXecute)则为真
四、if条件判断
4.1 单分支if(仅判断正确)
if [ 判断 ];then
命令
fi
4.2 双分支if
if [ 判断 ];then
正确后执行命令
else
错误后执行命令
fi
4.3 多分支if
if [ 判断 ];then
正确后执行命令
elif [ 判断 ];then
错误后执行命令
elif [ 判断 ];then
错误后执行命令
......
else [ 判断 ];then
错误后执行命令
fi
原文地址:http://blog.51cto.com/355665/2069020