Test命令less
做用:若是成立,返回值爲0,不然爲其餘值,測試表達式是否成立ide
格式: test 條件表達式 或 [ 條件表達式 ]測試
-r:測試當前用戶是否有權限讀取spa
-w:測試當前用戶是否有權限寫入字符串
-x:測試當前用戶是否有權限執行it
-d:測試是否爲目錄class
-e:測試目錄或文件是否存在test
-f:測試是否爲文件變量
整數值比較循環
格式:[ 整數1 操做符 整數2 ]
-eq:等於 equal
-ne:不等於 not equal
-gt:大於 greater than
-lt:小於 lesser than
-le:小於等於 lesser or equal
-ge:大於等於 granter or equal
字符串比較
=:第一個字符串與第2個字符串相同
!=:第一個字符串與第2個字符串不相同
-Z:檢查字符串是否爲空,對於未定義或賦予空值的變量將視爲空串
邏輯測試
!:邏輯否
-O或||:邏輯或
-a或&&:邏輯與
If語句的結構
單分支的if結構
If 條件測試操做
then
命令序列
fi
雙分支結構
if 條件測試操做
then
命令序列一
else
命令序列二
fi
多分支結構
if 條件測試操做1
then
命令序列一
elif 條件測試操做二
then
命令序列二
else
命令序列三
fi
for語句的結構
for 變量名 in 取值列表
do
命令序列
done
while語句的結構
while 條件測試操做 let和exit 避免死循環
do
命令序列
done
exit:0正常退出程序和腳本
1非正常退出
case語句的結構 (匹配及中止)
模式一)
命令序列1
;;
模式二)
命令序列2
;;
······
*)
默認命令序列
esac