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