Linux shell 编程之while循环、until循环

一、while循环

while命令也可以用来实现循环

基本格式如下:

while test command
do
     commands
done
若test command条件判断成立,则执行commands,若不成立,则跳出循环。
$ cat test.sh
#!/bin/bash

a=1
while [ $a -le 10  ]
do
   echo "a=$a"
   a=$[$a+1]
done
$ ./test.sh
a=1
a=2
a=3
a=4
a=5
a=6
a=7
a=8
a=9
a=10
while命令有个奇怪的用法,while命令允许在while语句行定义多条命令,但是只有最后一条测试命令的退出状态 决定循环是否停止。

$ cat test.sh
#!/bin/bash


a=1
while echo $a
      [ $a -le 10  ]  
do
   echo "a=$a"
   a=$[$a+1]
done
$ ./test.sh
1
a=1
2
a=2
3
a=3
4
a=4
5
a=5
6
a=6
7
a=7
8
a=8
9
a=9
10
a=10
11
注意最后一行打印出了"11",之后 判断 条件[ $a -le 10  ]不成立,然后退出循环。

二、until循环

until命令也可以用来实现循环,基本格式:

until test command
do
    other commands
done  
与while命令恰恰相反,若test command条件判断不成立,则执行commands,若成立,则跳出循环。until命令在until语句行也可以定义多条命令,只有最后一条测试命令的退出状态。

$ cat test.sh
#!/bin/bash

a=1
until echo $a
      [ 10 -le $a  ]    
do
   echo "a=$a"
   a=$[$a+1]
done
$ ./test.sh
1
a=1
2
a=2
3
a=3
4
a=4
5
a=5
6
a=6
7
a=7
8
a=8
9
a=9
10

你可能感兴趣的:(Linux shell 编程之while循环、until循环)