首頁  >  文章  >  系統教程  >  Linux Bash Shell-小循環大用處

Linux Bash Shell-小循環大用處

王林
王林轉載
2024-02-11 13:00:03541瀏覽

這是一個深度偽原創的版本:當你可以使用 for 迴圈來執行相同的程式碼時,為什麼還要在 shell 腳本中重複執行相同的程式碼呢?

循環是一種與生俱來的技能,它可以讓你的工作更簡單,並幫助你輕鬆地自動化重複性任務。

想像一下,如果你需要更新一系列數字或文本,不要手動執行,而是讓系統為你完成。這就是循環的力量和它為你帶來的好處。

循環作為一種功能,在幾乎所有程式語言中都可用。 Linux 的 Bash 也不例外。

這篇文章是一個指南,解釋如何在 shell 腳本中使用 for 迴圈。

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 Bash 中建立和運行 for 迴圈

#開啟 Linux 終端機開始編寫程式碼。

文字編輯器用於儲存 shell 腳本,該腳本在執行時列印所需的結果。出於說明目的,本指南中的命令是在nano文字編輯器中編寫的。

在終端機命令列中輸入nano以開啟文字編輯器,然後輸入 shell 腳本名稱。

linuxmi@linuxmi:~/www.linuxmi.com$ nano LinuxMi.com.sh

你可以將 shell 腳本的名稱更改為你喜歡的任何名稱。擴展名為sh,因為你將儲存一個 shell 腳本。

使用 for 迴圈列印整數

在本節中,以下程式碼將示範如何以不同方式列印整數值。要在 shell 腳本中使用 for 循環來列印整數,你可以嘗試其中一些程式碼範例。

1.循環程式碼列印一組數字

編輯器開啟後,就該編寫程式碼了。

#!/usr/bin/bash
for i in 1 2 3 
do
 echo "Current # $i"
done
Linux Bash Shell-小循环大用处

輸出:

Linux Bash Shell-小循环大用处

說明:

  • i = 儲存迭代值的變數名稱
  • 1 2 3 = shell 腳本中 for 迴圈的迭代次數
  • # do = 執行一組特定動作的指令
  • # echo = 列印旁邊定義的結果
  • 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

輸出將會列印在終端機視窗中。

2. 印出一組數字的替代方法

在 shell 腳本中定義 for 迴圈還有其他方法。你也可以使用大括號來指定循環迭代的開始值和結束值。

下面是程式碼結構:

for i in {1..3} # for循环定义了一个变量,以及要通过一个循环进行多少次迭代
do
 echo "当前值 # $i: 示例 2"
done
Linux Bash Shell-小循环大用处

循環將運行 3 次,值將按以下方式列印:

Linux Bash Shell-小循环大用处

3. 使用步長值的循環程式碼

#如果你想在迭代中不連續地移動,你可以在迴圈中定義步長值。根據指定的值,輸出將有一個固定的間隙。

例如:

for i in {1..10..2}
do
 echo "Number = $i"
done

說明:

  • i = 存储迭代的变量
  • 1..10 = 运行循环的迭代次数
  • 2 = 阶跃值
  • do = 命令打印输出
  • echo = 打印命令
  • done = 循环的退出命令
Linux Bash Shell-小循环大用处

输出:

Linux Bash Shell-小循环大用处

输出相差 2,这是在 step 语句中指定的。

使用 for 循环打印字符值

shell 脚本中的 for 循环不仅限于整数。在 Bash 中,你可以使用 for 循环来有效地遍历字符和字符串值。

1. 遍历字符串

这是一个基本示例,说明如何遍历一些字符串值(在 for 语句中定义):

for name in LinuxMi linuxmi.com www.linuxmi.com
do
 echo "My name is $name"
done

说明:

  • name = 存储字符串值的变量
  • do = 命令打印输出
  • echo = 打印命令
  • done = 循环的退出命令
Linux Bash Shell-小循环大用处

输出:

Linux Bash Shell-小循环大用处

这个 for 循环将迭代 3 次,因为在for语句中只指定了三个字符串值。

2. 循环遍历有条件的字符串

如果你想传递一些逻辑条件来中途终止循环怎么办?为此,你可以使用逻辑语句,例如IF语句。IF 语句控制循环的工作方式以及结果将打印什么输出。

for distro in LinuxMi Debian CentOS Ubuntu; do

 if [[ "$distro" == 'CentOS' ]]; then

 break

 fi

 echo "distro: $distro"

done

echo '全部完成!'
Linux Bash Shell-小循环大用处

只要 distro 的值等于 CentOS,循环就会终止,并打印输出。循环运行直到不再满足条件。

由于 CentOS 在值列表中排名第三,因此循环将运行两次迭代,然后打印最终输出全部完成!

Linux Bash Shell-小循环大用处

在 Linux Bash 中运行循环

循环是 Linux shell 结构中必不可少的一部分,它可以极大地增强 Linux 脚本的功能。

如果你必须打印重复的输出,没有什么比 Bash 脚本中的循环更好的了。正如我们前面提到的,几乎所有编程语言都可以使用循环,Python 也不例外。减少重复并遵循 DRY(不要重复自己)代码。

以上是Linux Bash Shell-小循環大用處的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除