📅  最后修改于: 2023-12-03 15:13:42.476000             🧑  作者: Mango
Bash是一个流行的Unix shell环境,它提供了许多有用的特性和命令用于管理系统和应用程序。其中之一就是循环命令,它可以用来重复执行一组命令,以便批量处理文件或数据等任务。
本篇教程旨在向程序员介绍Bash循环命令及其用法,重点介绍for循环和while循环。让我们一起来看看吧!
Bash提供了三种类型的循环:
在本文中,我们重点介绍for循环和while循环。
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 [ 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
循环,它们能够覆盖大多数循环场景。
希望这个教程对你有所帮助。