由于隻是不熟悉文法,是以不寫例子了。
1.if語句
if [條件];then
command
fi
command1
else
command2
elif [條件];then
command3
檔案比較運算符:
-b 當file存在并且是塊檔案時傳回真
-c 當file存在并且是字元檔案時傳回真
-d 當pathname存在并且是一個目錄時傳回真
-e 當pathname指定的檔案或目錄存在時傳回真
-f 當file存在并且是正規檔案時傳回真
-L filename 如果 filename 為符号連結,則為真
-g 當由pathname指定的檔案或目錄存在并且設定了SGID位時傳回為真
-k 當由pathname指定的檔案或目錄存在并且設定了“粘滞”位時傳回真
-u 當由pathname指定的檔案或目錄存在并且設定了SUID位時傳回真
-h 當file存在并且是符号連結檔案時傳回真,該選項在一些老系統上無效
-r 當由pathname指定的檔案或目錄存在并且可讀時傳回為真
-w 當由pathname指定的檔案或目錄存在并且可寫時傳回為真
-x 當由pathname指定的檔案或目錄存在并且可執行時傳回真。目錄的内容被通路必然是可執行的。
-s 當file存在且大小大于0時傳回真
-p 當file存在并且是指令管道時傳回為真
字元和數字比較運算符:
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于等于
-ge 大于等于
-z 空串
= 兩個字元相等
!= 兩個字元不等
-n 非空串
2.for循環
for x in 範圍 #也可以用C風格for循環
do
command
done
3.while語句
while [條件]
4.until語句 #條件不成立進入循環,否則不進入
until 條件
5.case語句
case 變量 in
"變量1")
command1 ;; # ;; 在目前比對模式需要執行的最後一條指令加,表示結束
" 變量2")
command2 ;;
.
" 變量n")
Commandn ;;
esac
6.函數
function a ( ) #不寫function關鍵字也可以 使用函數時,直接寫函數名就可以,像是使用指令一樣
{
}
7.break 和continue :
break :終止循環
continue :退出本次循環,繼續執行下一次循環