shell-循环

一.for
1.带列表的for
语法:

for variable in {list}
do 
    statement1
    statement2
    ...
done

variable 循环变量
list 列表,可以是一系列的数字或者字符串,元素之间用空格隔开
eg:

for var in 1 2 3 4 5 6 7 8
do
   echo $var
done
#省略写法表示范围
for var in {1...8}
do
   echo $var
done
#也可以跟进命令执行结果作为列表(shell某些命令会输出一个列表 )
for file in $(ls) #等价`ls`
do
    echo $var
done
#通配符* = ls * (通配符只是一个符号,而非shell命令,不可以放在$()和``中)
for file in *
do
    echo $var
done

2.不带列表的for
语法:

for variable
do 
    statement1
    statement2
    ...
done

如果没有条件列表shell会从参数中获取 这种写法就等价于条件列表是$@ $*
3.类c风格的for

for ((expression1;expression2;expression3))
do
     statement1
     statement2
     ...
done

eg:

for ((i=1;i<5;i++))
do
    echo $i
done
#死循环
for ((;;))
do
 echo "死循环"
done

4 .for处理数组

array = (a b  c d)
for var in ${array[*]}
do
    echo $var
done

二.until循环语句 和while反着来
当不满足条件时 一直执行循环体

until expression
do 
    statement1
    statement2
    ...
done 

eg:

i=1
until [[ "$i" -eq 20 ]]; do
        #statements
        echo $i
        let "i++"
done
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。