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