📜  循环语句 |外壳脚本

📅  最后修改于: 2022-05-13 01:57:34.883000             🧑  作者: Mango

循环语句 |外壳脚本

Shell Scripting 中的循环语句:共有 3 个循环语句可用于 bash 编程

  1. while 语句
  2. 声明
  3. 直到声明

为了改变循环语句的流程,使用了两个命令,它们是,

  1. 休息
  2. 继续

它们的描述和语法如下:

  • while 语句
    此处对命令进行评估并根据结果循环执行,如果命令提升为 false,则循环将终止
    句法
    while command
    do
       Statement to be executed
    done
  • 声明
    for 循环对项目列表进行操作。它为列表中的每个项目重复一组命令。
    这里 var 是变量的名称,word1 到 wordN 是由空格(单词)分隔的字符序列。每次 for 循环执行时,变量 var 的值都会设置为单词列表中的下一个单词,即 word1 到 wordN。
    句法

    for var in word1 word2 ...wordn
    do
       Statement to be executed
    done
  • 直到声明
    until 循环的执行次数与条件/命令评估为假的次数一样多。当条件/命令变为真时,循环终止。
    句法
    until command
    do
       Statement to be executed until command is true
    done
    

示例程序

示例 1:
用break语句实现for循环

#Start of for loop
for a in 1 2 3 4 5 6 7 8 9 10
do
    # if a is equal to 5 break the loop
    if [ $a == 5 ]
    then
        break
    fi
    # Print the value
    echo "Iteration no $a"
done

输出

$bash -f main.sh
Iteration no 1
Iteration no 2
Iteration no 3
Iteration no 4

示例 2:
用 continue 语句实现 for 循环

for a in 1 2 3 4 5 6 7 8 9 10
do
    # if a = 5 then continue the loop and 
    # don't move to line 8
    if [ $a == 5 ]
    then 
        continue
    fi
    echo "Iteration no $a"
done

输出

$bash -f main.sh
Iteration no 1
Iteration no 2
Iteration no 3
Iteration no 4
Iteration no 6
Iteration no 7
Iteration no 8
Iteration no 9
Iteration no 10

示例 3:
实现while循环

a=0
# -lt is less than operator
  
#Iterate the loop until a less than 10
while [ $a -lt 10 ]
do 
    # Print the values
    echo $a
      
    # increment the value
    a=`expr $a + 1`
done

输出:

$bash -f main.sh
0
1
2
3
4
5
6
7
8
9

示例 4:
实现直到循环

a=0
# -gt is greater than operator
  
#Iterate the loop until a is greater than 10
until [ $a -gt 10 ]
do 
    # Print the values
    echo $a
      
    # increment the value
    a=`expr $a + 1`
done

输出:

$bash -f main.sh
0
1
2
3
4
5
6
7
8
9
10

注意: Shell 脚本是一种区分大小写的语言,这意味着在编写脚本时必须遵循正确的语法。