一、前言
循环是自动化核心,批量处理文件、批量部署、批量解压、巡检、日志分析全部依赖循环。Shell 三种循环:for(最常用)、while(条件循环)、until(反向条件循环)。
二、for 循环(运维首选)
1. 遍历语法(重点)
for i in 取值列表 do 循环体 done2. 数字遍历
for i in {1..5} do echo "数字:$i" done3. 批量遍历文件(经典运维)
# 批量解压所有tar.gz for i in *.tar.gz do tar -xvf $i done4. 遍历脚本所有参数
for arg in $@ do echo "参数:$arg" done三、while 循环(条件满足一直循环)
适合:持续监听、死循环、逐行读取文件。
1. 基础语法
while [ 条件 ] do 循环体 done2. 死循环(常驻监听)
while true do echo "循环中..." sleep 1 done3. 逐行读取文件
while read line do echo $line done < test.txt四、until 循环(反向循环,面试考点)
条件不成立则一直循环,条件成立立即停止,和 while 完全相反。
a=1 until [ $a -gt 5 ] do echo $a ((a++)) done五、循环控制语句
break:跳出整个循环
continue:跳出本次,继续下一次
六、三种循环场景选型
for:已知范围、批量遍历文件、批量参数
while:未知次数、持续监听、逐行读文件
until:等待条件满足再停止(极少用,了解即可)