shell循环语句

2023-04-11 11:30:36

Shell脚本是一种非常强大的自动化工具,可以自动执行一系列任务。其中一个重要的功能是使用循环语句重复执行命令或一组命令。本文将介绍Shell中的三种循环语句:for、while和until,并提供相应的语法和示例。

for循环语句

for循环是一种常用的循环语句,可以根据指定的条件循环执行一组命令。for循环语句的语法如下:


(资料图片仅供参考)

for variable in word1 word2 ... wordNdo    command1    command2    ...    commandNdone

其中,variable是循环变量,word1 word2 ... wordN是需要循环遍历的元素。每次循环variable会被赋值为word1、word2等元素,然后执行一组命令。

以下是一个使用for循环语句输出数字的示例:

#!/bin/shfor i in {1..5}do    echo "Number $i"done

在这个示例中,使用for循环语句遍历数字1到5,然后输出“Number 1”、“Number 2”等信息。输出结果如下:

Number 1Number 2Number 3Number 4Number 5

while循环语句

while循环是一种另外一种常用的循环语句,可以在指定条件成立时,重复执行一组命令。while循环语句的语法如下:

while [ condition ]do    command1    command2    ...    commandNdone

其中,condition是指定条件,只有当条件成立时,才会执行循环内的命令。如果条件不成立,循环会跳出。执行一组命令后,再次检查条件是否成立,如果成立则继续执行一组命令。

以下是一个使用while循环语句输出数字的示例:

#!/bin/shi=1while [ $i -le 5 ]do    echo "Number $i"    i=$(($i+1))done

在这个示例中,使用while循环语句遍历数字1到5,然后输出“Number 1”、“Number 2”等信息。输出结果如下:

Number 1Number 2Number 3Number 4Number 5

在while循环语句中,首先定义变量i的值为1,然后在循环体内输出变量i的值。在循环的末尾,将变量i的值加1,以便在下一次循环中输出下一个数字。如果变量i的值大于5,则循环会停止。

until循环语句

until循环是一种与while循环相反的循环语句。只有在指定条件成立时,才会停止循环。until循环语句的语法如下:

until [ condition ]do    command1    command2    ...    commandNdone

其中,condition是指定条件,只有当条件不成立时,才会执行循环内的命令。如果条件成立,循环会跳出。执行一组命令后,再次检查条件是否成立,如果不成立则继续执行一组命令。

以下是一个使用until循环语句输出数字的示例:

#!/bin/shi=1until [ $i -gt 5 ]do    echo "Number $i"    i=$(($i+1))done

在这个示例中,使用until循环语句遍历数字1到5,然后输出“Number 1”、“Number 2”等信息。输出结果如下:

Number 1Number 2Number 3Number 4Number 5

在until循环语句中,首先定义变量i的值为1,然后在循环体内输出变量i的值。在循环的末尾,将变量i的值加1,以便在下一次循环中输出下一个数字。如果变量i的值大于5,则循环会停止。

break和continue语句

Shell脚本中的break和continue语句可以帮助您控制循环。break语句用于跳出循环,而continue语句用于跳过当前循环并继续下一次循环。以下是这些语句的语法:

breakcontinue

以下是一个使用break和continue语句的示例:

#!/bin/shi=1while [ $i -le 5 ]do    if [ $i -eq 3 ]    then        i=$(($i+1))        continue    fi    if [ $i -eq 4 ]    then        break    fi    echo "Number $i"    i=$(($i+1))done

在这个示例中,使用while循环语句遍历数字1到5,然后输出“Number 1”、“Number 2”等信息。但是,如果循环变量等于3,则使用continue语句跳过此次循环并继续执行下一次循环。如果循环变量等于4,则使用break语句跳出循环。输出结果如下:

Number 1Number 2Number 4

在这个示例中,循环变量等于3时,第一个if语句使用continue语句跳过此次循环并继续执行下一次循环。当循环变量等于4时,第二个if语句使用break语句跳出循环。

关闭
精彩放送