SHELL脚本编程的条件测试

                                         作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.条件测试概述 

判断某需求是否满足,需要由测试机制来实现
  专用的测试表达式需要由测试命令辅助完成测试过程

评估布尔声明,以便用在条件性执行中
  若真,则返回0
  若假,则返回1

测试命令:
  test EXPRESSION
  [ EXPRESSION ]          
    #推荐使用这种风格,易读性更强,操作系统很多脚本判断都是用的这种风格,不过还是看你自己个人习惯,毕竟bash的测试命令支持这三种风格,相当灵活。
  [[ EXPRESSION ]]     
    #支持正则表达式和通配符,
    #"==","!="符号右侧可使用通配符,左侧变量名建议加双引号("")
    #"=~"符号右侧可使用正则表达式,左侧变量名建议加双引号("")
  注意:EXPRESSION前后必须有空白字符
[root@node101.yinzhengjie.org.cn ~]# a=""
[root@node101.yinzhengjie.org.cn ~]# test -n "$a"
[root@node101.yinzhengjie.org.cn ~]# echo $?
1
[root@node101.yinzhengjie.org.cn ~]# test -z "$a"
[root@node101.yinzhengjie.org.cn ~]# echo $?
0
[root@node101.yinzhengjie.org.cn ~]# [ -n "$a" ]             #推荐使用这种风格,易读性更强,其实操作系统的很多脚本都是使用这种风格的哟~
[root@node101.yinzhengjie.org.cn ~]# echo $?
1
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# [ -z "$a" ]             
[root@node101.yinzhengjie.org.cn ~]# echo $?
0
[root@node101.yinzhengjie.org.cn ~]# [[ -z "$a" ]]
[root@node101.yinzhengjie.org.cn ~]# echo $?
0
[root@node101.yinzhengjie.org.cn ~]# [[ -n "$a" ]]
[root@node101.yinzhengjie.org.cn ~]# echo $?
1
[root@node101.yinzhengjie.org.cn ~]# 
测试案例戳这里

相关文章: