📅  最后修改于: 2023-12-03 15:10:03.823000             🧑  作者: Mango
批处理循环是重复执行一个命令序列的一种机制, 它可以自动化一些常规的任务,节省了程序员不少时间和精力。Shell-Bash是一种常见的Unix/Linux操作系统的命令行解释器,内置的循环语句也使得在Shell-Bash下编写脚本更为方便。
for循环会按照指定的循环变量来迭代执行,循环变量可以是数字或者字符串类型。
下面是一个简单的for循环示例,它将从1到5输出所有的数字:
#!/bin/bash
for i in {1..5}
do
echo $i
done
这段脚本中, for i in {1..5}
定义了一个循环变量i, 它会从1开始迭代到5。循环体中使用了echo命令将i的值输出到终端。
循环变量也可以是字符串类型,下面这个例子演示了如何遍历一个字符串数组:
#!/bin/bash
names=("john" "mike" "tom")
for name in "${names[@]}"
do
echo $name
done
这段脚本中, names=("john" "mike" "tom")
定义了一个字符串数组names,for循环会依次迭代数组中的元素,将它们输出到终端。
while循环会一直执行循环体中的命令,直到指定的条件不再满足。
下面这个例子演示了如何使用while循环来生成一个数列:
#!/bin/bash
i=1
while [ $i -le 5 ]
do
echo $i
i=$((i+1))
done
这段脚本中, i=1
定义了一个初始值为1的变量i, while [ $i -le 5 ]
指定了执行循环体的条件,即变量i小于等于5。在循环体中,使用了echo命令将i的值输出到终端,然后将i加1,直到i大于5为止。
until循环与while循环的不同在于,它会一直执行循环体中的命令,直到指定的条件满足为止。
下面这个例子演示了如何使用until循环来生成一个数列:
#!/bin/bash
i=1
until [ $i -gt 5 ]
do
echo $i
i=$((i+1))
done
这段脚本中, i=1
定义了一个初始值为1的变量i, until [ $i -gt 5 ]
指定了执行循环体的条件,即变量i大于5。在循环体中,使用了echo命令将i的值输出到终端,然后将i加1,直到i大于5为止。
通过本文,我们学习了如何使用Shell-Bash循环,覆盖了for循环、while循环和until循环。循环控制结构是Shell-Bash脚本中最常用的控制结构之一,程序员需要熟练掌握循环语句,才能更好地利用Shell-Bash来进行脚本开发。