一、條件測試
$? 等于0 表示前一個命令測試成功,等于1表示測試失敗
字符串測試
# 第一種寫法
test expression
# 第二種寫法 expression前后一定要有空格
[ expression ]
數(shù)據(jù)

1. 判斷字符串是否不為空,0表示不為空,1表示為空。

2. 判斷字符串是否為空,0表示為空,1表示不為空。

3. 判斷兩個字符串是否相等,0表示相等,1表示不相等。

4. 判斷兩個字符串是否不相等,0表示不相等,1表示相等。

5. 常用的字符串判斷

1. 判斷字符串是否為空

2. 判斷字符串是否相等
整數(shù)測試
# 第一種寫法
test number1 option number2
# 第二種寫法
[ number1 option number2 ]
optiion
| 運算符 | 說明 |
|---|---|
-eq |
等于 |
-ne |
不相等 |
-gt |
大于 |
-ge |
大于等于 |
lt |
小于 |
le |
小于等于 |
實例

文件測試
# 第一種寫法
test option file
# 第二種寫法
[ option file ]
option
| 操作符 | 說明 |
|---|---|
-a file |
文件是否存在,如果存在,如果是測試成功 |
-b file |
文件是否存在,且為塊文件,如果是測試成功 |
-c file |
文件是否存在,且為字符文件,如果是測試成功 |
-d file |
文件是否存在,且為目錄,如果是測試成功 |
-s file |
文件是否為非空文件,如果是測試成功 |
-f file |
文件是否存在,且為常規(guī)文件,如果是測試成功 |
-w file |
文件是否存在,且為可寫文件,如果是測試成功 |
-r file |
文件是否存在,且為可讀文件,如果是測試成功 |
-x file |
文件是否存在,且為可執(zhí)行文件,如果是測試成功 |
實例

連接多個條件測試語句的符號
| 操作符 | 說明 |
|---|---|
! |
not |
-a |
and |
-o |
or |
實例

更加直觀 && 和 || 符號的使用

二、判斷語句
if語句
if expression1
then
code...
elif expression2
then
code...
elif expression3
then
code...
else
code...
fi
可以使用exit語句來退出
實例
#! /bin/zsh
echo "Please enter a number"
read num
if [ "${num}" -eq 10 ];then
echo "輸入的數(shù)字等于10"
elif [ "${num}" -gt 10 ];then
echo "輸入的數(shù)字大于10"
elif [ "${num}" -lt 10 ];then
echo "輸入的數(shù)字小于10"
else
echo "輸入的不是數(shù)字"
fi
case語句
case variable in
value1)
code;;
value2)
code;;
esac
實例
echo "輸入一個編碼,返回分類"
read score
case "${score}" in
"0101")
echo "外墻磚";;
"0102")
echo "仿古磚";;
"0103")
echo "拋光磚";;
esac