掌握Linux Shell循环(从零开始编写自动化脚本)

V5主机测评

在 Linux 系统管理或日常开发中,我们经常需要重复执行某些命令。这时候,Linux Shell 循环就派上用场了!无论你是刚接触 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.jpgimg2.jpg……你想把它们改成 photo1.jpgphoto2.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 循环的基本用法,包括 forwhile 两种结构。无论是写简单的自动化任务,还是复杂的系统管理脚本,bash 循环语法都是不可或缺的核心技能。多练习几个小例子,你很快就能写出属于自己的高效脚本!

记住,学习 for 循环 while 循环的关键在于动手实践。打开你的终端,新建一个 .sh 文件,试着运行上面的代码吧!

文章版权声明:除非注明,否则均为V5主机测评网_性价比VPS_性价比云服务器_免费独立服务器原创文章,转载或复制请以超链接形式并注明出处。