Linux上的Bash For Loop

Terminal Linux Logo
Terminal Linux Logo

Linux上的Bash For Loop

您可以通过多种方式在bash脚本上申请循环。本文提到了一些有用的BASH for循环示例。

  • 标准重击循环

这是Bash For循环采用以下形式的示例:

for item in [LIST]

do

[COMMANDS]

done
  • Over Strings

现在,让我们看一下标准的Bash for String over Strings:

for element in Gold Silver Diamond Platinum

do

echo "Element: $element"

Done
  • 在数字范围内

让我们看下面的示例,该示例将从数字开始迭代:

from 2 to 6.

for i in {2..6}for i in {

dodo

echo "Number: $i""Number: $i"

donedone
  • 数组元素

尽管可以将for循环用于数字和字符串,但程序员甚至可以利用它们在一定范围内重复。例如:

PLAYERS=('meilana' 'maria' 'ulfa')=('meilana' 'maria' 

for player in "${PLAYERS[@]}"; dofor player in "${PLAYERS[@]}"; 

echo "Player: $player""Player: $player"

donedone
  • 中断并继续声明

break和continue语句可用于控制for循环的执行。

违约声明

要使用break语句,用户必须指定一个特定条件,当条件满足时将中断循环。当程序员想要在计划之前停止for循环时,他们甚至

for element in Gold Silver Diamond Platinum; do element in Gold Silver Diamond Platinum; 

if [[ "$element" == 'Diamond' ]]; thenif [[ "$element" == 'Diamond' ]]; 

breakbreak

fifi

echo "Element: $element""Element: $element"

donedone

echo 'All Done!''All Done!'

继续声明

Continue语句退出循环的当前迭代,并将程序控制传递给循环的下一个迭代。例如,让我们使用continue语句迭代一个数字范围,当它达到一个特定的数字(在本例中为“ 6”)时,continue语句将退出迭代并返回到该数字的开头。循环以开始下一个迭代:

for i in {2..8}; do i in {2..8}; 

if [[ "$i" == '6' ]]; thenif [[ "$i" == '6' ]]; then

continuecontinue

fifi

echo "Number: $i""Number: $i"

donedone

Bash for Loop示例

在bash中使用For循环有两种方法,一种是“ c样式语法”,另一种是“ for-in”。C样式的for循环的语法如下:

for ((INITIALIZATION; TEST; STEP)) ((INITIALIZATION; TEST; STEP))

dodo

[COMMANDS][COMMANDS]

donedone

Meanwhile, as aforementioned, the ‘for-in’ loop will take the following form:Meanwhile, as aforementioned, the for-in loop will take the following form:

for variable in listfor variable in list

dodo

StatementsStatements

DoneDone

循环读取输入变量

这是如何将它们用于循环的示例。在该示例中,我们将采用文本的输入值,该文本具有在执行脚本之后将采用的多个单词。我们将使用for循环根据空白分隔预定义的文本。然后确保脚本将打印每个单词:

#!/bin/bash

echo "Enter a text of multiple words""Enter a text of multiple words"

read text

i=1=1

for word in $textfor word in $text

dodo

echo "Word No-$i = $word""Word No-$i = $word"

((i=$i+1))((i=$i+1))

donedone

然后运行以下脚本:

bash forloop1.sh.sh

用break语句循环

程序员可以使用for循环语句读取和打印当前目录的文件和文件夹列表。首先,创建一个文件名并执行以下脚本。用户必须注意,“ *”用于读取“ for循环”中的文件。循环的功能是一种简单的方式,方法是通过目录的步骤读取每个文件或文件夹,并在终端的’tab’空间打印输出:

printf "Pinting the files and folders of the current Directory...\n\n""Pinting the files and folders of the current Directory...\n\n"

for list in *for list in *

dodo

printf "$list\t""$list\t"

donedone

printf "\n\nDone\n""\n\nDone\n"

然后,运行以下脚本:

bash forloop1.sh.sh

更改文件扩展名

使用for循环,可以更改当前目录中所有文件的文件扩展名。例如,我们将使用for循环将所有.jpeg文件替换为.png文件:

for file in *.jpeg; do file in *.jpeg; do

mv -- "$file" "${file%.jpeg}.png"-- "$file" "${file%.jpeg}.png"

donedone

恭喜你!您已经通过示例成功学习了Bash For Loop。有关其他帮助或有用信息,我们建议您检查Bash官方网站

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun40908.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2021年3月6日 下午3:20
下一篇 2021年3月6日 下午3:28