Shell迴圈與結構化命令
阿新 • • 發佈:2018-11-25
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