目录
算术运算
赋值运算
逻辑运算
短路运算和异或
条件测试
数值测试
字符串测试
文件及其属性测试
存在性测试
存在性及类别测试
文件权限测试
文件特殊权限测试
文件大小测试
文件是否打开
双目测试
组合测试条件
扩展
read命令
配置文件相关
Bash退出任务
关于$-变量
算术运算
Bash中我们可以进行算术运算,包括:+、-、*、/、%、**,分别是加,减,乘,除,取余,乘方。我们有六种方式,实现上面的运算:
(1) let var=算术表达式
(2) var=$[算术表达式]
(3) var=$((算术表达式))
(4) var=$(expr arg1 arg2 arg3 ...)
(5) declare –i var = 数值
(6) echo ‘算术表达式’ | bc
有一点需要注意的是*在运算中需要转译即“\*”
[root@CT71 ~]#let var1=1234 [root@CT71 ~]#var2=$[12+32] [root@CT71 ~]#var3=$((12+12)) [root@CT71 ~]#var4=$( expr 1 + 2 + 3 + 4 ) [root@CT71 ~]#echo $var1 $var2 $var3 $var4 1234 44 24 10
[root@CT71 ~]#let var5=2**10 [root@CT71 ~]#let var6=2*10 [root@CT71 ~]#echo "3 * 4" | bc 12 [root@CT71 ~]#var7=$( expr 3 \* 5 ) [root@CT71 ~]#echo $var5 $var7 1024 15
除此以外bash中还有内建的随机数生成器:$RANDOM(0-32767)
如:
echo $[$RANDOM%50] : 0-49之间随机数
在算术运算和增强型赋值中,要使用let,let的具体用法请自行man let,它的功能是数字型运算和增强型赋值(下面会讲到)
[root@CT71 ~]#echo $[$RANDOM%50] 12 [root@CT71 ~]#echo $[$RANDOM%50] 25 [root@CT71 ~]#echo $[$RANDOM%50] 39 [root@CT71 ~]#echo $[$RANDOM%50] 19 [root@CT71 ~]#
赋值
变量赋值,我们通常使用“=”,比如var=1234,就是把数值1234赋给var这个变量,此外我们还有其他的赋值方式,
增强型赋值方式:
+=, -=, *=, /=, %=
比如:
var=2
let var+=23
这是var的值是25
除此以外,还有自增,自减:
let var+=1
let var++
let var-=1
let var--
[root@CT71 ~]#var=2 [root@CT71 ~]#let var+=23 [root@CT71 ~]#echo $var 25 [root@CT71 ~]#let var++ [root@CT71 ~]#echo $var 26 [root@CT71 ~]#let var-=1 [root@CT71 ~]#echo $var 25 [root@CT71 ~]#
逻辑运算
我们在编写脚本中无论如何都少不了逻辑判断,我们通过逻辑判断来进行我们需要进行的操作,完成我们需要的功能。现在我们先看一下最基本的逻辑功能。
true:1;false:0
与:
1 与 1 = 1
1 与 0 = 0