shell关系运算符介绍


本文摘自PHP中文网,作者V,侵删。

数字比较运算

关系运算符只支持数字,不支持字符串,除非字符串的值是数字。下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20:

15.png

举例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

#!/bin/bash

 

a=10

b=20

 

if [ $a -eq $b ]

then

   echo "$a -eq $b : a 等于 b"

else

   echo "$a -eq $b: a 不等于 b"

fi

if [ $a -ne $b ]

then

   echo "$a -ne $b: a 不等于 b"

else

   echo "$a -ne $b : a 等于 b"

fi

if [ $a -gt $b ]

then

   echo "$a -gt $b: a 大于 b"

else

   echo "$a -gt $b: a 不大于 b"

fi

if [ $a -lt $b ]

then

   echo "$a -lt $b: a 小于 b"

else

   echo "$a -lt $b: a 不小于 b"

fi

if [ $a -ge $b ]

then

   echo "$a -ge $b: a 大于或等于 b"

else

   echo "$a -ge $b: a 小于 b"

fi

if [ $a -le $b ]

then

   echo "$a -le $b: a 小于或等于 b"

else

   echo "$a -le $b: a 大于 b"

fi

运行脚本,输出结果如下:

1

2

3

4

5

6

10 -eq 20: a 不等于 b

10 -ne 20: a 不等于 b

10 -gt 20: a 不大于 b

10 -lt 20: a 小于 b

10 -ge 20: a 小于 b

10 -le 20: a 小于或等于 b

相关文章视频教程推荐:linux视频教程

布尔运算符

16.jpg

举例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

#!/bin/bash

 

a=10

b=20

 

if [ $a != $b ]

then

   echo "$a != $b : a 不等于 b"

else

   echo "$a != $b: a 等于 b"

fi

if [ $a -lt 100 -a $b -gt 15 ]

then

   echo "$a 小于 100 且 $b 大于 15 : 返回 true"

else

   echo "$a 小于 100 且 $b 大于 15 : 返回 false"

fi

if [ $a -lt 100 -o $b -gt 100 ]

then

   echo "$a 小于 100 或 $b 大于 100 : 返回 true"

else

   echo "$a 小于 100 或 $b 大于 100 : 返回 false"

fi

if [ $a -lt 5 -o $b -gt 100 ]

then

   echo "$a 小于 5 或 $b 大于 100 : 返回 true"

else

   echo "$a 小于 5 或 $b 大于 100 : 返回 false"

fi

脚本运行:

1

2

3

4

10 != 20 : a 不等于 b

10 小于 100 且 20 大于 15 : 返回 true

10 小于 100 或 20 大于 100 : 返回 true

10 小于 5 或 20 大于 100 : 返回 false

逻辑运算符

以下介绍 Shell 的逻辑运算符,假定变量 a 为 10,变量 b 为 20:

17.jpg

实例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#!/bin/bash

 

a=10

b=20

 

if [[ $a -lt 100 && $b -gt 100 ]]

then

   echo "返回 true"

else

   echo "返回 false"

fi

 

if [[ $a -lt 100 || $b -gt 100 ]]

then

   echo "返回 true"

else

   echo "返回 false"

fi

运行结果:

1

2

返回 false

返回 true

字符串运算符

下表列出了常用的字符串运算符,假定变量 a 为 “abc”,变量 b 为 “efg”:

18.jpg

实例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

#!/bin/bash

 

a="abc"

b="efg"

 

if [ $a = $b ]

then

   echo "$a = $b : a 等于 b"

else

   echo "$a = $b: a 不等于 b"

fi

if [ $a != $b ]

then

   echo "$a != $b : a 不等于 b"

else

   echo "$a != $b: a 等于 b"

fi

if [ -z $a ]

then

   echo "-z $a : 字符串长度为 0"

else

   echo "-z $a : 字符串长度不为 0"

fi

if [ -n "$a" ]

then

   echo "-n $a : 字符串长度不为 0"

else

   echo "-n $a : 字符串长度为 0"

fi

if [ $a ]

then

   echo "$a : 字符串不为空"

else

   echo "$a : 字符串为空"

fi

运行结果:

1

2

3

4

5

abc = efg: a 不等于 b

abc != efg : a 不等于 b

-z abc : 字符串长度不为 0

-n abc : 字符串长度不为 0

abc : 字符串不为空

相关文章教程推荐:linux教程

以上就是shell关系运算符介绍的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

shell编程实战之监控磁盘分区的使用率

adb shell是什么意思

shell script到底是什么?怎么使用?

powershell和bash的定义与使用

shell基本语法的介绍与使用

shell关系运算符介绍

如何从shell脚本创建二进制文件

shell编程实战之执行多个目录下的php程序

linux终端执行shell脚本时提示权限不足

详解shell实现ssh自动登陆

更多相关阅读请进入《shell》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...