# shell 循环的until命令

while命令中,只要定义的测试命令返回的是退出状态码 0while就会一直执行,在 test 命令返回非零退出状态码时, while命令会停止执行那组命令。

while test command
do
    other commands
done

until命令和 while 命令工作的方式完全相反。只有测试命令的退出状态码不为 0bash 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会执行指定的多个测试命令,只有在最后一个命令成立时停止。

(adsbygoogle = window.adsbygoogle || []).push({});