在 condition 中, while 是成立,才會繼續迴圈的執行,而 until 則是相反,在 until 的 condition 中,若不成立,他就會繼續執行迴圈,執行到 condition 成立為止。(也就是非0)
今天應該是在這三十天中介紹的最後一個迴圈控制了,今天介紹的就是跟 while 有著一樣的功能,但是剛剛好判斷方式相反的 until,他的格式如下:
until [ condition ]
do
command1
command2
…
done
在 condition 中, while 是成立,才會繼續迴圈的執行,而 until 則是相反,在 until 的 condition 中,若不成立,他就會繼續執行迴圈,執行到 condition 成立為止。(也就是非0)
下面這個例子是,使用者輸入什麼,畫面就重複顯示什麼,直到使用者輸入 quit ,程式就會停止。在這個例子就是用 until 來完成,當輸入等於 quit , until 就不會繼續執行迴圈了!
#!/bin/bash
QUIT="quit"
USER_INPUT="a"
until [ "$QUIT" = "$USER_INPUT" ]; do
echo -n "請輸入文字(輸入quit離開): "
read USER_INPUT
echo "你輸入的是: $USER_INPUT"
echo ""
done
我們來試試執行的結果:
所以,當 『quit 等於 輸入的字串』為否時,迴圈就會繼續的執行下去!直到『quit 等於 輸入的字串』為真才回停止迴圈。
所以結論就是:
因此,會讓 while 停止的條件,就會讓 until 繼續下去,反之亦然。
你說這是不是 while 天生就和 until 作對呢?
鐵人賽文章分享
11 上一篇 迴圈 while 的三個範例
13 下一篇 繼續或者跳脫迴圈