# shell 循环的until命令
while命令中,只要定义的测试命令返回的是退出状态码 0,while就会一直执行,在 test 命令返回非零退出状态码时, while命令会停止执行那组命令。
while test command
do
other commands
done
until命令和 while 命令工作的方式完全相反。只有测试命令的退出状态码不为 0 ,bash shell才会执行循环中列出的命令。
until test commands
do
other commands
done
until命令的一个实例:
#!/bin/bash
nu=8
until [ $nu -eq 0 ]
do
echo $nu
nu=$[ $nu - 2 ]
done
# 8
# 6
# 4
# 2
和 while 命令类似,你可以在 until 命令语句中放入多个测试命令。只有最后一个命令的退
出状态码决定了bash shell是否执行已定义的 other commands 。
#!/bin/bash
nu=8
until [ $nu -eq 0 ]
echo $nu
do
echo $nu
nu=$[ $nu - 2 ]
done
shell会执行指定的多个测试命令,只有在最后一个命令成立时停止。