這是一個深度偽原創的版本:當你可以使用 for 迴圈來執行相同的程式碼時,為什麼還要在 shell 腳本中重複執行相同的程式碼呢?
循環是一種與生俱來的技能,它可以讓你的工作更簡單,並幫助你輕鬆地自動化重複性任務。
想像一下,如果你需要更新一系列數字或文本,不要手動執行,而是讓系統為你完成。這就是循環的力量和它為你帶來的好處。
循環作為一種功能,在幾乎所有程式語言中都可用。 Linux 的 Bash 也不例外。
這篇文章是一個指南,解釋如何在 shell 腳本中使用 for 迴圈。
#在 shell 腳本中使用 for 迴圈相當簡單,你可以操縱結構來實現不同的目標。
基本架構如下:
for item in [LIST] do [COMMANDS] done
使用循環,你可以根據時間的需要在數字和字元值之間循環。
這是 shell 腳本中 for 迴圈的結構:
for VARIABLE in 1 2 3 4 5 .. N do command1 command2 commandN done
你可以在第一行定義迭代次數。這樣,你將提及起始值和結束值。
迭代次數由你指定的值決定,而do語句後面的程式碼是產生的循環值。
#開啟 Linux 終端機開始編寫程式碼。
文字編輯器用於儲存 shell 腳本,該腳本在執行時列印所需的結果。出於說明目的,本指南中的命令是在nano文字編輯器中編寫的。
在終端機命令列中輸入nano以開啟文字編輯器,然後輸入 shell 腳本名稱。
linuxmi@linuxmi:~/www.linuxmi.com$ nano LinuxMi.com.sh
你可以將 shell 腳本的名稱更改為你喜歡的任何名稱。擴展名為sh,因為你將儲存一個 shell 腳本。
在本節中,以下程式碼將示範如何以不同方式列印整數值。要在 shell 腳本中使用 for 循環來列印整數,你可以嘗試其中一些程式碼範例。
編輯器開啟後,就該編寫程式碼了。
#!/usr/bin/bash for i in 1 2 3 do echo "Current # $i" done
輸出:
說明:
按Ctrl X將程式碼儲存在文字編輯器中。儲存並退出腳本。
在執行程式碼之前,你必須更改 shell 腳本的權限。
輸入chmod x後跟你的 shell 腳本檔名:
linuxmi@linuxmi:~/www.linuxmi.com$ chmod +x LinuxMi.com.sh
授予權限後,透過鍵入以下內容在 shell 腳本中執行 for 迴圈:
linuxmi@linuxmi:~/www.linuxmi.com$ ./LinuxMi.com.sh
輸出將會列印在終端機視窗中。
在 shell 腳本中定義 for 迴圈還有其他方法。你也可以使用大括號來指定循環迭代的開始值和結束值。
下面是程式碼結構:
for i in {1..3} # for循环定义了一个变量,以及要通过一个循环进行多少次迭代 do echo "当前值 # $i: 示例 2" done
循環將運行 3 次,值將按以下方式列印:
#如果你想在迭代中不連續地移動,你可以在迴圈中定義步長值。根據指定的值,輸出將有一個固定的間隙。
例如:
for i in {1..10..2} do echo "Number = $i" done
說明:
输出:
输出相差 2,这是在 step 语句中指定的。
shell 脚本中的 for 循环不仅限于整数。在 Bash 中,你可以使用 for 循环来有效地遍历字符和字符串值。
这是一个基本示例,说明如何遍历一些字符串值(在 for 语句中定义):
for name in LinuxMi linuxmi.com www.linuxmi.com do echo "My name is $name" done
说明:
输出:
这个 for 循环将迭代 3 次,因为在for语句中只指定了三个字符串值。
如果你想传递一些逻辑条件来中途终止循环怎么办?为此,你可以使用逻辑语句,例如IF语句。IF 语句控制循环的工作方式以及结果将打印什么输出。
for distro in LinuxMi Debian CentOS Ubuntu; do if [[ "$distro" == 'CentOS' ]]; then break fi echo "distro: $distro" done echo '全部完成!'
只要 distro 的值等于 CentOS,循环就会终止,并打印输出。循环运行直到不再满足条件。
由于 CentOS 在值列表中排名第三,因此循环将运行两次迭代,然后打印最终输出全部完成!
循环是 Linux shell 结构中必不可少的一部分,它可以极大地增强 Linux 脚本的功能。
如果你必须打印重复的输出,没有什么比 Bash 脚本中的循环更好的了。正如我们前面提到的,几乎所有编程语言都可以使用循环,Python 也不例外。减少重复并遵循 DRY(不要重复自己)代码。
以上是Linux Bash Shell-小循環大用處的詳細內容。更多資訊請關注PHP中文網其他相關文章!