shell脚本编程之循环语句

(编辑:jimmy 日期: 2024/11/13 浏览:2)

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

一、for命令

格式:for 变量 in 列表;do

循环体

done

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

列表形式有以下几种:

1、在命令中定义的一系列的值;
2、变量;
3、命令;
4、目录;
5、文件。

实例1:

shell脚本编程之循环语句

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

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

shell脚本编程之循环语句

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

shell脚本编程之循环语句

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

shell脚本编程之循环语句

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

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

shell脚本编程之循环语句

二、C语言风格的for命令

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

循环体

done

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

shell脚本编程之循环语句

三、until命令

格式:until 条件; do

statement
...
done

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

实例:

shell脚本编程之循环语句

四、while命令

格式:while 条件; do

statement
...
done

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

实例:

shell脚本编程之循环语句

五、控制循环

1、break命令

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

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

shell脚本编程之循环语句

2、continue命令

作用:提前进入下一轮循环。
实例:将1到20和51到100之间的数相加:

shell脚本编程之循环语句

六、while的殊用法

1、死循环

格式:while :; do
语句
done

实例:

shell脚本编程之循环语句

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

格式:while read 变量名; do

循环体

done < 文件

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

shell脚本编程之循环语句