学习任何一门编程语言,肯定少不了学习它的运算符啦,今天我们来学习一下shell编程的基本运算符。
简单介绍一下:在shell编程里,一般使用expr作为计算工具,能使用表达式进行简单的计算,表达式和运算符之间要有空格。例如1+2是不对的,必须使用1 + 2。
算数运算符
把计算结果赋值给变量再引用时,要使用反引号`将完整的表达式括起来才能正常使用
错误示例:
[root@localhost blog]# sum=expr $a + $b
-bash: 10: 未找到命令
[root@localhost blog]#
正确示例:
[root@localhost blog]# a=10
[root@localhost blog]# b=20
[root@localhost blog]# expr $a + $b
30
[root@localhost blog]# sum=`expr $a + $b`
[root@localhost blog]# echo sum
sum
[root@localhost blog]# echo $sum
30
[root@localhost blog]#
在表示条件表达式时,表达式要放在[ ] 之间,并且要留有空格。
[root@localhost blog]# if [$a == $b] ;then echo "a不等于b" ;fi
-bash: [10: 未找到命令
[root@localhost blog]# if [ $a == $b ] ;then echo "a不等于b" ;fi
[root@localhost blog]#
注意:
乘号(*)前边必须加反斜杠 \ 才能实现乘法运算
关系运算符
关系运算符值支持数字运算,不支持字符串,不过例外就是,除非字符串的值是数字。其实就是比较大小,规则和上面的是一样滴。
布尔运算符
布尔运算符常用来表示真假,用返回值false(也可以是0)表示假,返回值true(1)表示真
[root@localhost blog]# a=1
[root@localhost blog]# b=2
[root@localhost blog]# echo $a == $b
1 == 2
[root@localhost blog]# echo [ $a == $b ]
[ 1 == 2 ]
[root@localhost blog]# echo $[ $a == $b ]
0
[root@localhost blog]# echo $[ $a != $b ]
1
[root@localhost blog]#
逻辑运算符
逻辑运算符主要有&& 和 ||
&& :逻辑与(AND)
|| :逻辑或(OR)
[root@localhost shell]# (($b >10 && $b<100))
###(( )) 数值的比较,只能用于整数的比较,不能进行小数的比较
[root@localhost shell]# echo $? //查看返回值,0表示真,非0表示假
0
[root@localhost shell]# (($b >50 && $b<100))
[root@localhost shell]# echo $?
1
[root@localhost shell]#
[root@localhost shell]# (($b >=50 || $b<=100))
[root@localhost shell]# echo $?
0
[root@localhost shell]#
字符串运算符
文件测试运算符
文件测试运算符常常用来检测文件的属性,通过运算符判断的结果是否为true,得出想要的内容。
[root@localhost blog]# mkdir wenjian
[root@localhost blog]# [ -d $wenjian ]
[root@localhost blog]# echo $?
0
[root@localhost blog]#
就简单介绍到这里,还想继续深入了解shell运算符的伙伴们可自行查阅噢!