条件表达式
条件表达式作用于流程控制判断,有两种方式进行条件判断,一是中扩号,而是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