shell脚本循环执行一个linux命令,shell脚本编程之循环语句

在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的。

一、for命令

格式:for 变量 in 列表;do

循环体

done

for命令会遍历列表中的每一个值,并且在遍历完成后退出循环。

列表形式有以下几种:

1、在命令中定义的一系列的值;

2、变量;

3、命令;

4、目录;

5、文件。

实例1:

e77940af4735812a26308396677ade60.png

上例中使用{初始值..结束值}格式来表示一个区间的数值。

实例2:以变量作为列表:

38f4c820842baacfcbb54f8c7c3885ac.png

实例3:用命令生成列表:

6d5ad24b4480e9d34f6ce1f20d702f19.png

上例中使用seq命令来生成列表,seq命令的格式为:seq [初始值 步长] 终止值

db56d5ec9ad37724d5253ea32d93080f.png

以上两个例子中使用反引号将得到命令运行的结果。

实例4:将目录作为列表:

d5894fd229f86ab10d22aec4d48f0ca7.png

二、C语言风格的for命令

格式:for (( 变量赋值;循环终止条件;步长 )); do

循环体

done

实例:求从1加到100的和:

87e108c886b3d1f877d2dd5abe77d6a4.png

三、until命令

格式:until 条件; do

statement

...

done

until命令中的条件满足时则会退出循环。

实例:

4a65f0f905839ae8f6788600468d89ee.png

四、while命令

格式:while 条件; do

statement

...

done

while命令当条件满足时则进入循环。

实例:

3c3458dddc63cb25c17c7cff1b0e73f8.png

五、控制循环

1、break命令

作用:退出正在进行中的循环。

实例:如果变量i为3则退出循环。

664efc2bf683e510fb895ec809f49869.png

2、continue命令

作用:提前进入下一轮循环。

实例:将1到20和51到100之间的数相加:

4a8d098bd3d01712e3e7689f61f9cb27.png

六、while的殊用法

1、死循环

格式:while :; do

语句

done

实例:

8145e4a11ed71de8e5513c06c029e566.png

2、将文件内容逐行读入循环中

格式:while read 变量名; do

循环体

done < 文件

实例:逐行读入/etc/passwd文件的内容:

6283cef558c77d09a271f049f7931b25.png