在 Linux 系统管理或日常开发中,我们经常需要重复执行某些命令。这时候,Linux Shell 循环就派上用场了!无论你是刚接触 Linux 的小白,还是想巩固脚本技能的进阶用户,本文都将带你一步步理解并掌握 Shell 中最常用的循环结构。
什么是 Shell 循环?
Shell 循环是一种控制结构,它允许你重复执行一段代码,直到满足某个条件为止。在 Bash(最常用的 Shell)中,主要有两种循环: for 循环和 while 循环。它们分别适用于不同的场景:
- for 循环:用于遍历一个列表、范围或数组。
- while 循环:只要某个条件为真,就持续执行。
一、for 循环详解
for 循环非常适合处理已知次数或已知元素集合的任务。基本语法如下:
for 变量 in 列表 do 命令 done 举个例子,打印数字 1 到 5:
#!/bin/bashfor i in {1..5}do echo "当前数字是: $i"done 运行结果:
当前数字是: 1当前数字是: 2当前数字是: 3当前数字是: 4当前数字是: 5
你也可以遍历文件、目录或自定义字符串列表:
for file in *.txtdo echo "找到文本文件: $file"done 二、while 循环详解
while 循环会在条件为真时不断执行。它的语法是:
while [ 条件 ]do 命令done 例如,用 while 循环实现同样的 1 到 5 打印:
#!/bin/bashcount=1while [ $count -le 5 ]do echo "当前计数: $count" count=$((count + 1))done 注意:-le 表示“小于等于”,这是 Shell 中的数值比较操作符。
三、实战小例子:批量重命名文件
假设你有一堆图片文件,名字是 img1.jpg、img2.jpg……你想把它们改成 photo1.jpg、photo2.jpg……可以用以下脚本:
#!/bin/bashfor i in {1..10}do if [ -f "img$i.jpg" ]; then mv "img$i.jpg" "photo$i.jpg" echo "已重命名 img$i.jpg → photo$i.jpg" fidone 这个脚本展示了如何结合循环与条件判断,是典型的 Shell 脚本教程中的实用案例。
四、常见误区与技巧
- 变量引用记得加
$,比如$i。 - 在
while循环中,务必更新循环变量,否则会陷入死循环! - 使用
break可提前退出循环,continue可跳过本次迭代。
总结
通过本文,你应该已经掌握了 Linux Shell 循环的基本用法,包括 for 和 while 两种结构。无论是写简单的自动化任务,还是复杂的系统管理脚本,bash 循环语法都是不可或缺的核心技能。多练习几个小例子,你很快就能写出属于自己的高效脚本!
记住,学习 for 循环 while 循环的关键在于动手实践。打开你的终端,新建一个 .sh 文件,试着运行上面的代码吧!
文章版权声明:除非注明,否则均为V5主机测评网_性价比VPS_性价比云服务器_免费独立服务器原创文章,转载或复制请以超链接形式并注明出处。
