天天看點

while指令----shell腳本

while的基本格式

while test command

do

    other commands

done
           

while 指令中定義的test command和if-then語句的格式一模一樣。可以使用任何普通的bash shell指令,或者用test指令進行條件測試,比如測試變量值。

while指令的關鍵在于所制定的test command 的退出狀态嗎必須随着玄幻中運作的指令而改變。如果推出狀态碼不發生變化,while循環将一直不停的進行下去。

最常見的test command的用法就是用方括号來檢查循環指令中用到的shell變量的值

[[email protected] robin]# vim while.sh
#! /bin/bash
# while command test

var1=10
while [ $var1 -gt 0 ]
do
  echo $var1
  var1=$[ $var1 - 1 ]
done
           
[[email protected] robin]# ./while.sh
10
9
8
7
6
5
4
3
2
1
           

while指令定義了每次疊代時檢查的測試條件:

while [ $var1 -gt 0 ]

隻要測試條件成立,while指令就會不停地循環執行定義好的指令。在這些指令中,測試條件用到的變量必須修改,否則就會陷入無限循環。在本例中,我們用shell算數來講變量值減一

var1=$[ $var1 - 1 ]

while循環會在測試條件不再成立時停止

附錄:

【Linux】條件判斷eq、ne、gt、lt、ge、le

整數比較:

-eq(equal) 相等

-ne(inequality) 不相等

-gt(greater than) 大于

-lt(less than) 小于

-ge(greater equal) 大于或等于

-le(less equal) 小于或等于
           

繼續閱讀