算数运算
1. 使用let命令
#!/sbin/bash
var1=2
var2=3
let sum=var1+var2
echo $sum
使用let命令式,变量前不需要加$号
只用于整数运算,不适用浮点数
2. 使用$[...]
[]的使用与let类似
#!/sbin/bash
var1=2
var2=3
sum=$[ var1+var2 ]
echo $sum
通let一样,变量不需要使用$,但是计算结果需要在[前使用$
只用于整数运算,不适用浮点数
3 使用$((...))
#!/sbin/bash
var1=2
var2=3
sum=$((var1+var2))
echo $sum
用法类似于$[...]
只用于整数运算,不适用浮点数
4 expr
#!/sbin/bash
var1=2
var2=3
sum=`expr $var1 + $var2`
echo $sum
注意 反单引号```的使用,还有变量前需要使用$,另运算法两边需要有空格
5 可以用于浮点数计算的bc工具
#!/sbin/bash
var1=2.6
var2=3
sum=`echo "$var1 * $var2" | bc`
echo $sum
bc工具还可以通过scale进行精度设置,并且具有进制转换等功能。
条件测试
算数比较
比较运算符:
-eq
等于
-ne
不等于
-gt
大于
-lt
小于
-ge
大于等于
-le
小于等于
用法如下:
[ $var1 -eq $var2 ]
逻辑运算符
-a 且
-o 或
用例:
[ $var1 -eq 0 -a $var2 -ne 2 ]
文件测试
[ -f $file_var ]<span style="white-space:pre"> </span>//判断是否为普通文件或路径,是的话返回真
[ -x $var ] //判断是否为可执行文件
[ -d $var ] //判断是否为目录
[ -e $var ] //判断文件是否存在
[ -c $var ] //判断是否为字符设备文件
[ -b $var ] //判断是否为块设备文件
[ -w $var ] //判断文件是否可写
[ -r $var ] //判断文件是否可读
[ -L $var ] //判断文件是否为符号链接
用法
if condition then
fpath="/etc/passwd"
if [ -e $fpath ]; then
echo "$fpath exist!"
else
echo "$fpath exist!"
fi
字符串比较
字符串比较可以直接使用 == > < >= <=符号
-z // 判断是否为空字符串
-n //判断是否为非空字符串
判断表达式 [ ] 可以用test替代