shell test條件判斷
阿新 • • 發佈:2018-04-02
strong 終端 light 目錄 存在 符號 文件描述 -c 描述
test 條件判斷
# 符號 [ ] 等同 test命令
test 10 -lt 5 # 判斷大小 echo $? # 查看上句test命令返回狀態 # 結果0為真,1為假 test -n "hello" # 判斷字符串長度是否為0 [ $? -eq 0 ] && echo "success" || exit # 判斷成功提示,失敗則退出
expression為字符串操作
-n str # 字符串str是否不為空 -z str # 字符串str是否為空
expression 為文件操作
-a # 並且,兩條件為真 -b # 是否塊文件 -p # 文件是否為一個命名管道 -c # 是否字符文件 -r # 文件是否可讀 -d # 是否一個目錄 -s # 文件的長度是否不為零 -e # 文件是否存在 -S # 是否為套接字文件 -f # 是否普通文件 -x # 文件是否可執行,則為真 -g # 是否設置了文件的 SGID 位 -u # 是否設置了文件的 SUID 位 -G # 文件是否存在且歸該組所有 -w # 文件是否可寫,則為真 -k # 文件是否設置了的粘貼位 -t fd # fd 是否是個和終端相連的打開的文件描述符(fd 默認為 1) -o # 或,一個條件為真 -O # 文件是否存在且歸該用戶所有 ! # 取反
expression 為整數操作
expr1 -a expr2 # 如果 expr1 和 expr2 評估為真,則為真 expr1 -o expr2 # 如果 expr1 或 expr2 評估為真,則為真
兩值比較
整數 字符串 -lt < # 小於 -gt > # 大於 -le <= # 小於或等於 -ge >= # 大於或等於 -eq == # 等於 -ne != # 不等於
shell test條件判斷