时间: 2020-09-18|30次围观|0 条评论

Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。

原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。


expr 是一款表达式计算工具,使用它能完成表达式的求值操作。


例如,两个数相加:
#!/bin/bash
val=`expr 2 + 2`

echo "Total value : $val"


运行脚本输出:

Total value : 4


两点注意:
表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。
完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边。

算术运算符

Linux Shell 学习笔记(五)—运算符插图

运行结果:

Linux Shell 学习笔记(五)—运算符插图1

注意:
乘号(*)前边必须加反斜杠(\)才能实现乘法运算;
if...then...fi 是条件语句。

Linux Shell 学习笔记(五)—运算符插图2

注意:条件表达式要放在方括号之间,并且要有空格,例如 [$a==$b] 是错误的,必须写成 [ $a  ==  $b ]。

关系运算符

Linux Shell 学习笔记(五)—运算符插图3 

例子:

  1 #!/bin/bash                                         
  2
  3 a=10;
  4 b=20;
  5 if [ $a -eq $b ]
  6 then
  7         echo "$a -eq $b : a is equal to b"
  8 else
  9         echo "$a -eq $b : a is not equal to b"
 10 fi
 11
 12 if [ $a -ne $b ]
 13 then
 14         echo "$a -ne $b : a is not equal to b"
 15 else
 16         echo "$a -ne $b : a is equal to b"
 17 fi
 18
 19 if [ $a -gt $b ]
 20 then
 21         echo "$a -gt $b : a is greater than b"
 22 else
 23         echo "$a -gt $b : a is not greater than b"
 24 fi
 25
 26 if [ $a -lt $b ]
 27 then
 28         echo "$a -lt $b : a is less than b"
 29 else
 30         echo "$a -lt $b : a is not less than b"
 31 fi
 32
 33 if [ $a -ge $b ]
 34 then
 35         echo "$a -ge $b : a is greater or equal to b"
 36 else
 37         echo "$a -ge $b : a is not greater or equal to b"
 38 fi
 39
 40 if [ $a -le $b ]
 41 then
 42         echo "$a -le $b : a is less or equal to b"
 43 else
 44         echo "$a -le $b : a is not less or equal to b"
 45 fi
 46

运行结果:

Linux Shell 学习笔记(五)—运算符插图4

布尔运算符

Linux Shell 学习笔记(五)—运算符插图5

例子:

Linux Shell 学习笔记(五)—运算符插图6

运行结果:

Linux Shell 学习笔记(五)—运算符插图7


字符串运算符

Linux Shell 学习笔记(五)—运算符插图8

例子:

Linux Shell 学习笔记(五)—运算符插图9

运行结果:

Linux Shell 学习笔记(五)—运算符插图10

文件测试运算符

Linux Shell 学习笔记(五)—运算符插图11

Linux Shell 学习笔记(五)—运算符插图12

文件测试运算符用于检测 Unix 文件的各种属性。
例如,变量 file 表示文件“/home/liguodong/study/Code/ShellProgram/script/test02.sh”,它的大小为100字节,具有 rwx 权限。

例子

Linux Shell 学习笔记(五)—运算符插图13

运行结果:

Linux Shell 学习笔记(五)—运算符插图14

原文链接:https://blog.csdn.net/scgaliguodong123_/article/details/42340725

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《Linux Shell 学习笔记(五)—运算符
   

还没有人抢沙发呢~