15. Bash 中的 For 循环
在编程语言中,循环用于重复执行代码块,直到满足定义的条件。 这有助于执行重复性任务。 主要有 3 种类型的循环,for、do 和 do-while。 在本教程中,我们将讨论 shell 脚本中的 for 循环。
语法
for 变量 in 循环参数1 循环参数2 循环参数3do//循环代码块done
for 循环对所有定义的参数执行一次。循环范围以关键字“do”开始,以另一个关键字“done”结束。所有语句都必须写在循环范围内。参数值进行初始化,该值可以在 for 循环范围内访问。这些参数可以是任意数字、字符串等。
15.1 Bash – For 循环示例
#!/bin/bashfor i in 1 2 3 4 5do echo “$i”done
您还可以使用数字值在 bash 脚本中使用 for 循环定义范围。
#!/bin/bashfor i in {1..5}do echo “$i”done
参数也可以是一个字符串,如:
#!/bin/bashfor day in 星期一 星期二 星期三 星期四 星期五 星期六 星期天do echo “$day”done
提醒
多个参数之间, 应该以空格间隔
15.2 Bash – C 风格的 For 循环
可以在 bash 脚本中编写 for 循环,类似于 c 编程中的 for 循环。例如打印 1 到 10 个数字。
#!/bin/bashfor ((i=1; i<=10; i++))do echo "$i"done
15.3 Bash – 带文件的 For 循环
您可以在指定目录下的for循环中一一访问文件名。例如,从当前目录读取所有文件。
#!/bin/bashfor fname in *do ls -l $fnamedone
16. Bash-While 循环
与 for 循环类似,while 循环也是入口限制循环。这意味着在执行while循环之前检查条件。 While 循环也能够像 for 循环一样完成所有工作。
语法
while [条件]do//执行代码块done
Bash – While 循环示例
例如,以下循环将被执行 5 次并在变量 num 的值大于 5 时终止。
#!/bin/bashnum=1while [ $num -le 5 ]do echo “$num” let num++done
Bash – 无限循环
无限 for 循环也可以称为永无止境的循环。以下循环将连续执行,直到使用 CTRL+C 强制停止。
#!/bin/bashwhile truedo echo “按 CTRL+C 退出”done
您还可以通过在脚本中添加一些条件退出来终止此循环。所以只要条件为真,循环就会退出。
#!/bin/bashwhile truedo if [条件];then exit fidone
Bash – C 风格的 While 循环
您还可以在 bash 脚本中编写类似于 while loop c 编程语言的 while 循环。
#!/bin/bashnum=1while((num <= 5))do echo $num let num++done
Bash – While 循环读取文件内容
这是while循环提供的一个有用的功能,可以逐行读取文件内容。使用它我们可以逐行读取文件并执行一些任务。
#!/bin/bashwhile read rowtextdo echo $rowtextdone < /var/log/anaconda/anaconda.log
执行
要以root权限执行