Shell编程-While循环
时间:2020-02-23 14:45:09 来源:igfitidea点击:
在本教程中,我们将学习Shell编程中的While循环。
while循环类似于for循环,只要满足某些给定条件,就可以帮助多次执行代码块。
while语法
while [ condition ] do # body of while loop done
条件是某些条件,如果满足则将导致循环主体的执行。
要退出while循环,我们使条件失败。
要退出脚本,我们可以使用exit
命令。
例1:编写一个Shell脚本以使用while循环从1到5打印
#!/bin/sh # initialise i i=1 while [ $i -le 5 ] do # echo i echo $i # update i i=`expr $i + 1` done
$sh example01.sh 1 2 3 4 5
通过编写以下代码,我们可以实现相同的结果。
#!/bin/sh # initialise i i=1 while [ $i -le 5 ] do # echo i echo $i # update i i=$(( $i + 1 )) done
嵌套while循环
我们可以通过将while循环放置在另一个while循环的主体中来嵌套while循环。
while [ condition_outer ] do # body of the outer while loop while [ condition_inner ] do # body of the inner while loop done done
例2:编写Shell脚本以打印以下模式
1 1 3 1 3 5 1 3 5 7
为此,我们将使用r变量来计数行,使用c变量来计数列。
我们将使用counter
变量来打印数字。
#!/bin/sh # for the rows r=1 while [ $r -le 4 ] do # for the output count=1 # for the column c=1 while [ $c -le $r ] do # print the value printf "$count " # update count count=$(( $count + 2 )) # update c c=$(( $c + 1 )) done # go to new line printf "\n" # update r r=$(( $r + 1 )) done
$sh example02.sh 1 1 3 1 3 5 1 3 5 7