shell中的迴圈結構

2021-06-05 23:47:53 字數 1452 閱讀 3721

shell中的迴圈結構有:for,while和until(while和until的語法結構、設計思路基本一致,因此歸為一類討論)

for

for迴圈有兩種形態:

1.列表形態,形如:

for var in varlist; do

command 1

...command n

done

其思路是:用var依次讀取varlist中的各元素,因此迴圈次數取決於varlist的長度

這裡的varlist可以直接寫出來,也可以是變數替換$或命令列替換$( )(想想command處理流程中對meta的重組)

若預設in varlist,則其值將從$*(或$@)中獲得

直接寫varlist的例子如下:

for var in aa bb cc dd ee ff; do

echo "now is $"

done

2.迴圈計數形態,形如:

for (( i=1; i<=100; i++ )); do

command 1

...command n

done

迴圈技術形態的設計思路和c語言很相似

這裡利用到了(( ))的數值測試條件功能和變數值自增減功能(詳見《$,$( )和$(( ))》、《shell中的測試條件》)

while

1.while迴圈利用「測試條件」控制迴圈,其結構為

while [ ... ]; do

command 1

...command n

done

2.until相當於對while取反,其表示:迴圈一直執行,「直到"測試條件成立才終止

break和continue

1.shell中的break和continue比c語言更靈活,因為二者可以指定目標迴圈層,舉例說明

for ...; do  #記為loop a

for ...; do #記為loop b

break #只退出loop b,但仍在loop a中(break的預設引數為1,1代表當前迴圈層)

done

done

for ...; do  #記為loop a

for ...; do #記為loop b

break 2 #直接退出loop a

done

done

break和continue的預設引數為1,引數n表示從裡向外數的第n層迴圈

八 shell中的迴圈結構

1 for迴圈 1 要求 能看懂 能改即可。不要求能夠完全不參考寫出來。因為畢竟嵌入式並不需要完全重新手寫shell,系統管理員 伺服器運維人員,應用層系統級管理開發的才需要完全掌握shell 這裡將1 2 3 4 5依次列印出來 列印出當前目錄檔案 2 while迴圈 1 和c語言的迴圈在邏輯上無...

shell 迴圈結構

迴圈結構在程式設計中十分常見,也是程式中是較為重要的一部分,在bash中有for,until,while這三種語句可以進行重複執行部分程式流程,下面會進一步討論這三個指令的使用以及注意事項 bash中for命令允許使用者建立遍歷乙個系列值的迴圈,在迴圈中,建議執行預先設定好的程式或命令。for的基本...

shell 六 shell中的分支與迴圈結構二

一web相關的,以httpd為案例 root lamp cat check web.sh bin bash i 響應頭 s slient安靜模式 o 輸出為空 w code 指定狀態碼 fi netstat lsof ps等均可!需求2 通過傳參的方式往 etc user.conf裡新增使用者,具體...