shell脚本中的循环结构和C语言的类似,都是for循环和while循环.
for循环:
有两种形式:
一,
- for i in $(seq 3) #i从1开始到3
- do
- echo "output $i ..."
- done
- for i in $(seq 0 3) #i从0开始到3
- do
- echo "output $i ..."
- done
- for i in a b c #i从a开始到c,也可以是数字,字符串等等,就是将循环的值枚举出来
- do
- echo "output $i ..."
- done
二,类似于C语言的写法
- for ((month=1;$month<=12;month++)) #有两个括号
- do
- echo "output $month..."
- done
while循环:
两种形式
一,
- i=1
- while [ $i -le 10 ] # 注意[] 前的空格
- do
- echo $i
- let i++;
- done
二,类似于C语言的写法
- i=1
- while((i<=10)) #注意(())前可以不加空格
- do
- echo $i
- let i++;
- done
三, while read line 可以按行读入,一直到所有行都读完,才退出循环,在实际工作中,会经常采用这种循环结构,进行数据的处理.
cat file.txt |while read line # 此处的cat也可以是一个产生若干行的命令,如 find
do
....
done
------------------------------------------------------------------------------------
与C语言类似的,循环语句中也可以是用break语句跳出循环,continue进入下一次循环