一、for循环
# for i in {start..end..step}、列表、数组、命令返回值、((计算表达式))
# case 1
for i in {1..10} # 返回 1~10
do
echo $i
done
# case 2
for i in {2..10..2} # 返回 2 4 6 8 10
do
echo $i
done
# case 3
for c in {a..e..2} # 返回 a c e
do
echo $c
done
# case 4
for i in ant bee cat dog
do
echo $i
done
# case 5
a=(1 2 3 4 5) # 数组
for i in ${a[@]}
do
echo $i
done
# case 6
for i in `seq -f %02g 1 5` # seq命令
do
echo $i
done
# case 7
for ((i=1; i<=5; i++))
do
echo $i
done
二、while和until循环
# case 1
i=1
while [ $i -le 5 ]
do
echo $i
let i++
done
# case 2
i=1
s=0
n=100
until [ $i -gt $n ]
do
s=$((s + i))
let i++
done
echo 1+2+...+$n=$s
三、continue、break和exit
# 流程控制
# case 1
for ((i=1; i<=10; i++))
do
if [ $i -lt 8 ] && [ $i -ge 4 ]; then
continue # 忽略后面命令后继续循环
else
echo $i
fi
done
# case 2
for i in {1..10}
do
if [[ $i == 3 ]] || [[ $i == 7 ]]; then
continue
else
echo $i
fi
done
# case 3
for i in `seq 1 10`
do
if [ ! $i -lt 5 ] && [ $((i % 2)) -eq 0 ]; then
break # 中断当前循环
else
echo $i
fi
done
# case 4
for i in `seq 1 10`
do
if [ $i = 4 ]; then
exit 100 # 退出当前shell
else
echo $i
fi
done