📜  boucle bash - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:13:42.476000             🧑  作者: Mango

Bash循环 - boucle bash

Bash是一个流行的Unix shell环境,它提供了许多有用的特性和命令用于管理系统和应用程序。其中之一就是循环命令,它可以用来重复执行一组命令,以便批量处理文件或数据等任务。

本篇教程旨在向程序员介绍Bash循环命令及其用法,重点介绍for循环和while循环。让我们一起来看看吧!

Bash循环概述

Bash提供了三种类型的循环:

  • for循环:遍历一个列表中的元素,并重复执行一组命令。
  • while循环:只要某个条件成立,则一直执行一组命令。
  • until循环:只要某个条件不成立,则一直执行一组命令。

在本文中,我们重点介绍for循环和while循环。

for循环

for循环结构如下所示:

for VAR in LIST
do
  command1
  command2
  ...
  commandN
done

其中VAR是循环变量,LIST是一个用于遍历的列表,可以是数字,变量或文件列表等。循环体中包含一组命令,每次执行循环体时,Bash都将变量VAR设置为列表中的一个元素,然后执行命令。

让我们看一个例子:

#!/bin/bash

for i in 1 2 3 4 5
do
   echo "Welcome $i times"
done

输出:

Welcome 1 times
Welcome 2 times
Welcome 3 times
Welcome 4 times
Welcome 5 times

这里,循环变量i遍历数字列表1到5,并重复执行echo命令。每次输出都会显示不同的数字。

遍历文件列表

for循环还可以用于遍历文件列表。例如,我们可以使用ls命令列出当前目录中的所有文件,并使用for循环遍历它们:

#!/bin/bash

for file in $(ls)
do
   echo "File name is: $file"
done

这里,for循环遍历由ls命令返回的文件列表,并输出每个文件的名称。

while循环

while循环结构如下所示:

while [ condition ]
do
   command1
   command2
   ...
   commandN
done

循环体中的一组命令将一直执行,直到condition成立为止。在每次循环迭代期间,都会计算condition,如果为真,则执行循环体中的命令。如果condition为假,循环将终止。

让我们看一个例子:

#!/bin/bash

count=0
while [ $count -lt 5 ]
do
   echo "count is $count"
   count=`expr $count + 1`
done

输出:

count is 0
count is 1
count is 2
count is 3
count is 4

在这个例子中,循环变量count从0开始,循环条件是$count小于5。每次迭代期间,循环体都会输出当前循环变量的值,并将其递增。一旦$count达到5,循环结束。

读取用户输入

while循环还可以用于读取用户输入,例如:

#!/bin/bash

while read line
do
   echo "User input: $line"
done

在这个例子中,循环会持续读取用户输入,直到用户按下Ctrl+D结束输入。

结论

Bash循环是一种重要的编程技巧,可以用于处理大量的数据和文件。本文介绍了Bash中的两种主要循环类型:for循环和while循环,它们能够覆盖大多数循环场景。

希望这个教程对你有所帮助。