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

猜你喜欢

转载自blog.csdn.net/demon7552003/article/details/72857440
今日推荐