指令碼迴圈基礎(2)
迴圈控制語句continue
用於迴圈體中
continue [N]:提前結束第N層的本輪迴圈,而直接進入下一輪判斷;最內層為第1層
while CONDTIITON1; do
CMD1
...
if CONDITION2; then
continue
fi
CMDn
...
done
迴圈控制語句break
用於迴圈體中
break [N]:提前結束第N層迴圈,最內層為第1層
while CONDTIITON1; do
CMD1
...
if CONDITION2; then
break
fi
CMDn
...
done
迴圈控制shift命令
shift [n]
用於將參量列表list 左移指定次數,預設為左移一次。
參量列表list 一旦被移動,最左端的那個引數就從列表中刪除。while 迴圈遍歷位置參量列表時,常用到shift
/doit.sh a b c d e f g h
./shfit.sh a b c d e f g h
特殊用法
while迴圈的特殊用法(遍歷檔案的每一行):
while read line; do
迴圈體
done < /PATH/FROM/SOMEFILE
依次讀取/PATH/FROM/SOMEFILE檔案中的每一行,且將行賦值給變數line
select迴圈與選單
select variable in list
do
迴圈體命令
done
select 迴圈主要用於建立選單,按數字順序排列的選單項將顯示在標準錯誤上,並顯示PS3 提示符,等待使用者輸入
使用者輸入選單列表中的某個數字,執行相應的命令
使用者輸入被儲存在內建變數REPLY 中
select 是個無限迴圈,因此要記住用break 命令退出迴圈,或用exit 命令終止指令碼。也可以按ctrl+c 退出迴圈
select 經常和case 聯合使用
與for 迴圈類似,可以省略in list,此時使用位置參量
訊號捕捉trap
trap '觸發指令' 訊號
自定義程式收到系統發出的指定訊號後,將執行觸發指令,而不會執行原操作
trap '' 訊號
忽略訊號的操作
trap '-' 訊號
恢復原訊號的操作
trap -p
列出自定義訊號操作
相關文章
- 【基礎題】【for迴圈】二重迴圈
- shell指令碼之迴圈指令碼
- python 基礎 迴圈Python
- 基礎迴圈+識圖
- shell死迴圈指令碼示例指令碼
- Python基礎(07):迴圈Python
- react基礎之-- 列表迴圈React
- 12-JavaScript基礎-for迴圈JavaScript
- JAVA基礎--增強for迴圈Java
- Windows bat指令碼之for迴圈用法WindowsBAT指令碼
- python 基礎習題6--for迴圈和while迴圈PythonWhile
- 【Python基礎】for迴圈語句Python
- Python基礎教程06 - 迴圈Python
- linux系統for迴圈小指令碼Linux指令碼
- Python基礎-While迴圈語句PythonWhile
- Python基礎學習之迴圈Python
- python基礎 while迴圈練習PythonWhile
- shell基礎教程 十六: Shell until迴圈
- Go 基礎知識之分支迴圈Go
- javascript基礎(控制流程(迴圈 while,for))(十二)JavaScriptWhile
- Shell指令碼應用 – for、while迴圈語句指令碼While
- 時間遞增迴圈執行指令碼指令碼
- Shell指令碼基礎指令碼
- Linux基礎指令(2)Linux
- Python基礎:條件判斷 & 迴圈Python
- 【重溫基礎】3.迴圈和迭代
- Python 快速教程(基礎篇06): 迴圈Python
- Shell指令碼之for迴圈語句的應用指令碼
- linux shell之do done及for 迴圈指令碼Linux指令碼
- C#程式設計基礎第七課:C#中的基本迴圈語句:while迴圈、do-while迴圈、for迴圈、foreach迴圈的使用C#程式設計While
- 【基礎題】【for迴圈】分別輸出A~Z, a ~ z。
- java基礎(三) 加強型for迴圈與IteratorJava
- GaussDB SQL基礎語法示例-迴圈語句SQL
- Java基礎(二)- 普通for迴圈、foreach效能比較Java
- dotnet C# 分享基礎 for 迴圈的寫法C#
- 實驗2_C語言分支與迴圈基礎應用程式設計C語言程式設計
- 實驗2 c語言分支與迴圈基礎應用程式設計1C語言程式設計
- 實驗2 C語言分支與迴圈基礎應用程式設計-1C語言程式設計