Skip to content

条件表达式

条件表达式作用于流程控制判断,有两种方式进行条件判断,一是中扩号,而是test命令

中括号

  • 使用单中括号([])作用于算术比较和文件属性测试
  • 使用双中括号([[]])作用于字符串比较
$ cat test.sh 
#!/bin/bash

if [ ! 3 -eq 4 ]
then
    echo "3不等于4"
fi

if [ -d $HOME ]
then
    echo "${HOME}是目录"
fi

if [[ ! "11" = "1" ]]
then
    echo "字符串11不等于1"
fi

注意:中括号和表达式之间要有空格隔开

执行如下:

$ bash test.sh 
3不等于4
/home/zj是目录
字符串11不等于1

test

test命令用于检测数值,字符和文件,实现如下:

$ cat test.sh 
#!/bin/bash

if test ! 3 -eq 4
then
    echo "3不等于4"
fi

if test -d $HOME
then
    echo "${HOME}是目录"
fi

if test ! "11" = "1"
then
    echo "字符串11不等于1"
fi

执行如下:

$ bash test.sh 
3不等于4
/home/zj是目录
字符串11不等于1

相关阅读