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裡新增使用者,具體...