天天看點

控制結構

由于隻是不熟悉文法,是以不寫例子了。

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 :退出本次循環,繼續執行下一次循環

繼續閱讀