# 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
会执行指定的多个测试命令,只有在最后一个命令成立时停止。