判断表达式的类型有
-
" [ ] " - 最常用的判断符
- 文件判断
- 单字符判断
- 字符串判断
- 整数判断
-
" test "
-
" [ ] " 相当于 test,下面两例子含义相同
-
$ test -f /etc/hosts $ [ -f /etc/hosts ]
-
-
" [[ ]] " - 用于正则表达式
-
" (( )) " - 用于数值算数判断,适用于非整数
-
逻辑判断符号
- " && " - 逻辑判断符号:与。也可用:
AND
,-a
- " || " - 逻辑判断符号:或。也可用:
OR
,-o
- " ! " - 逻辑判断符号:非
- " && " - 逻辑判断符号:与。也可用:
详细请阅读:网道的条件判断部分
下面引入几个简单例子
单字符判断
#!/bin/bash
read -p "判断输入了a,b,c的哪一个: " char
if [ "$char" = "a" ]; then
echo 是 a !
elif [ "$char" = "b" ]; then
echo 是 b !
elif [ "$char" = "c" ]; then
echo 是 c !
else
echo error~
fi
$ bash test.sh
判断输入了a,b,c的哪一个: a
我是a!
$ bash test.sh
判断输入了a,b,c的哪一个: b
是 b !
$ bash test.sh
判断输入了a,b,c的哪一个: e
error~
字符串判断
#!/bin/bash
read -p "判断输入: " char
if [ "$char" = "abc 123" ]; then
echo 是 abc 123!
elif [ "$char" = "def" ]; then
echo 是 def !
elif [ "$char" = "ghi" ]; then
echo 是 ghj !
else
echo error~
fi
$ bash test.sh
判断输入: abc 123
是 abc 123!
$ bash test.sh
判断输入: abc
error~
$ bash test.sh
判断输入: def
是 def !