循環語句主要有while do while for select等,循環語句主要用於重複執行命令,直到達到終止循環條件。bash
首先介紹while語句。spa
[root@promote ~]# cat testwhilev1.0.sh #!/bin/bash num=0 while (( num <2 )) do ((num++)) echo $num done [root@promote ~]# bash testwhilev1.0.sh 1 2
while 語句表達式成立時,執行語句。條件不成立執行done結束循環語句。沒有控制好循環條件容易造成死循環,程序無終止執行條件。code
再看一個例子。it
[root@promote ~]# cat testwhilev1.1.sh #!/bin/bash count=0 while [[ $count < 5 ]] do ((count ++ )) echo $count done [root@promote ~]# bash testwhilev1.1.sh 1 2 3 4 5 [root@promote ~]# #思考問題,代碼執行完畢$count等於幾?
until 做用和 while 相反,循環條件不成立執行語句,直到條件成立爲止。until 不經常使用,簡單瞭解便可。for循環
while 和 until 語句都含有 do done 結構。test
for循環相似while循環。先看示例代碼。本段代碼執行結果爲打印1到3。select
[root@promote ~]# cat testif.sh #!/bin/bash for (( i=1; i<=3; i++ )) do echo $i done [root@promote ~]# bash testif.sh 1 2 3 [root@promote ~]#
for循環也能夠製造死循環。循環
#死循環,須要強制退出 [root@promote ~]# cat testifv1.1.sh #!/bin/bash for (( i=1;; i++)) do echo $i done [root@promote ~]# #倒序打印 [root@promote ~]# cat testforv1.2.sh #!/bin/bash for (( i=5;i>0;i-- )) do echo $i done [root@promote ~]# bash testforv1.2.sh 5 4 3 2 1 [root@promote ~]
根據代碼可知for ( ) 內語句塊分別爲初始條件,判斷條件,爲true退出,可選,循環語句,可選。須要注意括號內兩個分號不要遺漏。程序
select循環和其餘循環不一樣。思考
[root@promote ~]# cat testselectv1.0.sh #!/bin/bash select name in bill tom john carry linda do echo $name exit done #操做中輸入2,輸入完成退出 [root@promote ~]# bash testselectv1.0.sh 1) bill 2) tom 3) john 4) carry 5) linda #? 2 tom #錯誤輸入無輸出 [root@promote ~]# bash testselectv1.0.sh 1) bill 2) tom 3) john 4) carry 5) linda #? 7 [root@promote ~]#