本文共 1000 字,大约阅读时间需要 3 分钟。
循环语句是shell脚本中用于重复执行操作的重要工具,常用的有for、while和until三种循环结构。理解并掌握这些循环语句的使用方法,对于编写高效的shell脚本尤为重要。
for循环适用于已知项的逐一处理,常用于遍历取值列表。其基本格式如下:
for variable in list_of_valuesdo # 执行命令done
其中,variable是迭代变量,list_of_values是取值列表。示例:
for i in {1..10}do echo $idone 此外,取值范围可以通过以下方式定义:
{1…10}表示从1到10的连续整数。{1…10…2}表示从1开始,每隔2递增一次,直到不大于10。$(seq 1 10)生成从1到10的序列,$(seq 1 2 10)则是每隔2递增一次。for ((i=1; i<=10; i++))通过条件控制迭代,i++为自增操作。while循环根据条件判断是否重复执行命令,格式如下:
while conditiondo # 执行命令done
其中,condition是需要测试的布尔表达式。注意在脚本末尾始终要有done命令。while循环的特点是执行次数不确定,具体取决于条件是否为真。示例:
while [ -f /path/to/file ]do echo "文件存在"done
可以使用break命令跳出循环,break 2可跳出双层循环。
until循环与while循环相反,执行命令直到条件不成立。格式为:
until conditiondo # 执行命令done
示例:
until [ ! -f /path/to/file ]do echo "文件不存在"done
与while循环类似,可以使用break中止循环。
continue命令用于暂停当前循环体,继续执行下一个循环。在for、while和until循环中都可以使用。示例:
for i in {1..10}do if [ $i -gt 5 ]; then continue fi echo $idone continue不会终止脚本,只是跳过当前循环体。
转载地址:http://fmue.baihongyu.com/