循环语句 |外壳脚本
Shell Scripting 中的循环语句:共有 3 个循环语句可用于 bash 编程
- while 语句
- 声明
- 直到声明
为了改变循环语句的流程,使用了两个命令,它们是,
- 休息
- 继续
它们的描述和语法如下:
- 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 脚本是一种区分大小写的语言,这意味着在编写脚本时必须遵循正确的语法。