shell 3. 條件測試和判斷語句

一、條件測試

$? 等于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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容