本文汇总 shell 循环的常见写法:for 循环的四种形式(遍历参数、C 风格、{1..5} 序列、带步长区间)及批量编译示例,while 循环的条件控制,以及 until 循环的反向条件用法。
一、for 循环
for 循环一
1
2
3
4
| #遍历输出脚本的参数
for i in $@; do
echo $i
done
|
for 循环方式二
1
2
3
| for ((i = 0 ; i < 10 ; i++)); do
echo $i
done
|
for 循环方式三
1
2
3
| for i in {1..5}; do
echo "Welcome $i"
done
|
for 循环方式四
1
2
3
| for i in {5..15..3}; do
echo "number is $i"
done
|
每隔3打印一次,即打印5,8,11,14
示例
1
2
3
4
| for f in *.c
do
gcc -o ${f%.c} $f
done
|
二、while 循环
1
2
3
4
5
6
7
8
9
10
11
12
13
| while [ "$ans" != "yes" ]
do
read -p "please input yes to exit loop:" ans
done
# 只有当ans不是yes时,循环就终止。
# or
num=1
while [ $num -lt 10 ]
do
echo $num
((num=$num+2))
done
|
三、until 循环
1
2
3
4
5
6
7
| num=1
# 当command不为0时循环
until [ $num -gt 10 ]
do
echo until $num
((num=$num+2))
done
|