1. 程式人生 > >Shell迴圈與結構化命令

Shell迴圈與結構化命令

Shell提供了3種迴圈命令:for、while、until

for迴圈

for迴圈有3中結構:列表for迴圈,不帶列表for迴圈,類C風格for迴圈

列表for迴圈

#詳細列出
for VARIABLE in 1 2 3 4 5 .. N
do
         command1
         command2
         commandN
done

#數字段形式
for i in {1..10}
do
   echo $i
done

#數字段形式,步跳
for i in {1..10..2}
do
   echo $i
done

#命令輸出作為list
for i in $(seq 1 2 20) do echo "Welcome $i times" done #* 擴充套件為當前目錄下的所有檔案 for i in $( * ) do echo "Welcome $i times" done

不帶列表for迴圈

不帶列表for迴圈,由命令列傳遞list

for i 
do
   echo $i
done

類C風格for迴圈

for (( EXP1; EXP2; EXP3 ))
do
         command1
         command2
         command3
done

while迴圈

基本結構

min=1
max=100
while [ $min -le $max ]
do
    echo $min
    min=`expr $min + 1`
done   

命令列控制的while

while [[ "$*" != "" ]]
do
    echo "$1"
    shift
done   

shift命令使位置變數下移一位,並使$#減1.當最後一個引數顯示給使用者後,$#程式設計0

until迴圈

myvar=1
until [ $myvar -gt 10 ]
do
        echo $myvar
       myvar=$(( $myvar
+ 1 )) done