在Linux系统中,Shell脚本是自动化任务的强大工具。而Linux Shell循环则是编写高效脚本的核心技能之一。无论你是刚接触命令行的新手,还是想提升脚本能力的用户,本文都将带你一步步理解并掌握Shell中的循环结构。
什么是Shell循环?
循环允许你重复执行一段代码,直到满足某个条件为止。在Shell脚本中,常见的循环有 for、while 和 until。其中,for循环是最常用的一种,特别适合处理列表、文件或数字序列。
1. for 循环基础用法
最简单的 for 循环用于遍历一组单词或值:
#!/bin/bashfor fruit in apple banana orangedo echo "I like $fruit"done 运行这段脚本,你会看到三行输出,分别打印出“I like apple”、“I like banana”和“I like orange”。变量 fruit 在每次循环中依次取列表中的一个值。
2. 使用 for 循环处理数字序列
你也可以用 for 循环来遍历数字。例如,打印1到5:
#!/bin/bashfor i in {1..5}do echo "Number: $i"done 或者使用C语言风格的语法(需用双括号):
#!/bin/bashfor ((i=1; i<=5; i++))do echo "Count: $i"done 3. while 循环:条件驱动的重复
while 循环会在条件为真时持续执行。它常用于不确定循环次数的场景:
#!/bin/bashcount=1while [ $count -le 3 ]do echo "While loop iteration: $count" ((count++))done 4. 实战:批量重命名文件
假设你有一堆以 photo_1.jpg、photo_2.jpg 命名的照片,想改成 vacation_1.jpg 等。可以这样写:
#!/bin/bashfor file in photo_*.jpgdo if [ -f "$file" ]; then mv "$file" "${file/photo_/vacation_}" fidone 这个例子展示了如何结合通配符和字符串替换,实现高效的批量操作——这正是学习bash循环的价值所在。
小贴士
- 使用
break可提前退出循环。 - 使用
continue可跳过当前迭代,进入下一轮。 - 记得给变量加双引号(如
"$file"),防止文件名含空格时报错。
结语
通过本教程,你应该已经掌握了Linux Shell循环的基本用法。无论是简单的文本处理,还是复杂的系统管理任务,Shell脚本教程中的循环结构都能帮你事半功倍。多练习、多尝试,你会发现自动化原来如此简单!

