shell--條件測試語句和流程控制語句的使用
1. test 判斷
test $num1 == $num2 #判斷是否相等
echo $?
test $num != $num2
test $str #判斷字串是否非空,非空結果為0
test -z $str #判斷字串是否為空,為空結果為0
判斷常用符號("是"結果為0):
-eq #相等
-ne #不等
-ge #大於等於
-gt #大於
-le #小於等於
-lt #小於
檔案測試:(“是”結果為0)
test -f file1 #file1是否是一個檔案
test -d file1 #file1是否是一個目錄
test -x file1 #file1是否具有可執行許可權
test -r file1
test -w file1
test -e file1 #file1是否為空
test -s file1 #file1非空則為0
2. 流程控制
單分支語句:
if [ -f file1 ];then #“[]”內側有空格
echo "file1 is a file"
else
echo "file1 is not a file"
fi #條件語句以此結尾
多分支語句:
if [ -f file1 ];then
echo "file1 is a file"
elif [ -d file1 ];then
echo "file1 is a dir"
else
echo "unknown type"
fi