Bootstrap

Shell编程之循环语句(for,while,until)

Shell编程之循环语句

在实际工作中,经常会遇到某项任务需要偶次执行的情况,而每次执行时仅仅是处理的对象不一样,其他命令相同。

当面对各种列表重复任务时,使用简单的if语句已经难以满足要求,而顺序编写全部代码更是显得异常繁琐、困难重重。学习for循环语句可以很好的解决类似问题。

一、for语句的结构

读取不同的变量值,用来逐个执行同一组命令

格式

for 变量名 in 取值列表

do

命令序列  -----可单行或多行命令

done

例:

for 收件人 in 邮件地址列表

do

发送邮件

done

先for(从…开始),然后in(从…中取值)

do代表会开始一直执行也就是从初始值进行循环,直到所有取值用完(先将列表的第1个取值赋给变量,并执行do…done的命令序列,然后将列表中的第2个取值赋给变量,并执行do…done的命令序列,以此类推)假设列表里是10,就会循环10次。

done代表结束循环

for i in {1…10} -----表示1到10的连续数值(大括号中间两个点代表取值范围)
for i in {1…10…2} -----表示1,3,5,7,9(每次加2)

$(seq 1 10) -----也表示1到10的连续数值(seq代表连续序列,1代表初始值,10代表结束值)
$(seq 1 2 10)-----也代表1,3,5,7,9

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;