十三、条件判断语句 test命令(shell [])

1、test 是 Shell 内置命令,用来检测某个条件是否成立。

语法1:test expression        用于判断表达式是否成立,成立返回0,不成立则返回其他数字。

test 命令也可以简写为[],它的用法为:

语法2:[ expression ]

[ ] 内非空返回true,可使用$?验证(0为true,1为false)

注意[]expression之间的空格,这两个空格是必须的,否则会导致语法错误。[]的写法更加简洁,比 test 使用频率高。

n=1
while [ $n -lt 10 ]   等价    while test $n -lt 10

2、常用条件判断

1)文件测试

语法:[ 操作符 文件或者目录]

操作符:

  • -d:用于测试是否是目录
  • -e:测试目录或文件是否存在
  • -f:测试是不是文件
  • -r:测试当前的用户是否有读的权限
  • -w:测试当前用户是否有写的权限
  • -x:测试当前用户是否具有可执行权限
  • -L:测试是否为符号链接

2)数值比较

语法:[ 整数1 操作符 整数2 ]
操作符:

  • -eq:等于
  • -ne:不等于
  • -gt:大于
  • -lt:小于
  • -le:小于等于
  • -ge:大于等于

3)字符串比较

语法:[ 字符串1 = 字符串2 ] 

     [ 字符串1 != 字符串2 ]

     [ -z 字符串 ]

操作符:

  • =:字符串内容相同
  • !=:字符串内容不同
  • -z:字符串内容为空

4)逻辑判断

语法:[ 表达式1 ] 操作符 [ 表达式2 ]

    命令1 操作符 命令2 

操作符:

    • -a或&&:逻辑与,“且”的意思(两边需同时成立)
    • -o或||:逻辑或,“或”的意思(如果第一个条件满足,则不需要看第二个条件,直接跳过,如果第一个条件失败,则查看第二条)
    • !:逻辑否
posted @ 2022-04-25 15:24  chao_xiong  阅读(247)  评论(0编辑  收藏  举报