shell中的循环

for循环的写法

数字型

1
2
3
4
for ((i=1;i<5;i++));
do
echo $i;
done
1
2
3
4
for i in $(seq 1 5)
do
echo $i;
done
1
2
3
4
for i in {1..10}
do
echo $i;
done

字符型

1
2
3
4
5
list="rootfs usr data data2"
for i in $list;
do
echo $i is appoint;
done
1
2
3
4
for i in f1 f2 f3;
do
echo $i is appoint;
done;

while循环

1
2
3
4
5
6
int=1
while(($int <=5))
do
echo $int
let "int++"
done

测试脚本

猜数字游戏:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
#用脚本演示使用结束标记控制while循环实现猜1~10内的数
echo "Please input the num (1~~10): "
read num
while [[ $num != 4 ]]
do
if [ $num -lt 4 ];then
echo "Too small,Try again.."
read num
elif [ $num -gt 4 ];then
echo "Too big,Try again.."
read num
else
exit 0
fi
done
echo "Yes,you are right !!"

执行结果:

1
2
3
4
5
6
7
Please input the num (1~~10):  
3
Too small,Try again..
6
Too big,Try again..
4
Yes,you are right !!