Shell 脚本编程实战:从变量到定时任务

导读 如果你用过 Linux 或 Mac 的终端,一定接触过命令行的交互方式——你输一条命令,系统回一个结果。但如果要把几十条命令组合起来,按条件自动执行、循环遍历文件、甚至每天定时跑一次呢?这时候就需要 Shell 脚本。 本文从零开始,带你掌握 Shell 脚本最核心的六大知识板块:变量与引号、条件判断(if/case)、循环(for/while)、函数封装、参数传递、错误处理,最后用 crontab 定时任务把这些能力串联成一个完整的系统健康检查脚本。无论你是刚接触 Linux 的小白,还是想系统化补上 Shell 功底的开发者,这篇都能覆盖。 一、你的第一个 Shell 脚本 Shell 脚本本质上就是一个包含多条命令的纯文本文件。系统在读取第一行时,会判断用哪个解释器来执行它。 1.1 Hello World 新建 hello.sh,写入以下内容: #!/bin/bash # 告诉系统用 bash 解释器执行(这叫 shebang) echo "Hello, CleanResolver!" # 输出文字到终端 然后给它可执行权限并运行: chmod +x hello.sh # 让文件变成"可执行程序"的样子 ./hello.sh # 在当前目录下运行它 # 输出:Hello, CleanResolver! 白话解释:chmod +x 相当于给文件贴一张"可以执行"的标签;./ 表示"当前目录下的这个文件"。如果不加 ./,系统会在环境变量 $PATH 指定的系统目录里去找这个名字。 国内镜像提示:如果你在中国大陆下载 bash 相关教程,推荐 Runoob Shell 教程(直连)。国内打不开时用代理:ghfast.top 代理。 二、变量与引号 2.1 定义变量 Shell 中的变量就像快递柜的储物格编号——你把数据"存"进去,需要时再"取"出来。赋值时不加 $,取值时加 $。 name="CleanResolver" # 定义变量 name version=1.0 # 数字也可以直接赋值(不用引号) echo $name # 取值:CleanResolver echo "${name}_v${version}" # 用大括号区分边界:CleanResolver_v1.0 重要规则: ...

2026-08-26 · 16 min · AIGestalt