Linux Shell 脚本编程核心实战:变量、判断、循环与自动化脚本全解
前言
Shell 脚本是 Linux 运维与自动化操作中最基础、最实用的技能之一。无论是日常文件处理、系统监控、定时任务,还是批量自动化执行,都离不开 Shell 脚本。本文从基础语法到实战案例,系统梳理 Shell 脚本编程的核心知识点,并提供可直接运行的脚本示例,帮助快速掌握 Shell 编程。
一、Shell 脚本基础入门
1.1 什么是 Shell
Shell 是 Linux 系统的命令解释器,负责接收用户输入的命令并传递给内核执行。常见的 Shell 包括 bash、sh、zsh 等,其中 bash 兼容性最强、使用最广泛。
1.2 Shell 脚本的执行方式
Shell 脚本以 .sh 为后缀,常用执行方式有两种:
方式一:使用解释器执行
bash test.sh
方式二:赋予可执行权限后执行
chmod +x test.sh
./test.sh
1.3 脚本规范
所有 Shell 脚本首行必须指定解释器:
#!/bin/bash
二、Shell 变量与常用操作
2.1 变量定义与使用
Shell 变量无需声明类型,直接赋值即可:
name="Shell"
echo "当前学习内容:$name"
2.2 读取用户输入
使用 read 实现交互式输入:
read -p "请输入你的用户名:" user
echo "欢迎你:$user"
2.3 环境变量
常用环境变量:
$PATH:系统命令搜索路径
$HOME:当前用户家目录
$USER:当前登录用户
$?:上一条命令执行结果(0 成功,非 0 失败)
2.4 数值计算
使用 







((a + b))
echo "a + b = $sum"
三、条件判断与 test 命令
3.1 文件测试
if [-f "test.txt"]; then
echo "文件存在"
else
echo "文件不存在"
fi
3.2 数值比较
if [ $a -gt $b ]; then
echo "a 大于 b"
fi
3.3 字符串判断
if [ "
str1"="
str2" ]; then
echo "字符串相等"
fi
四、if 条件语句
4.1 单分支
if [条件]; then
执行语句
fi
4.2 双分支
if [条件]; then
语句 1
else
语句 2
fi
4.3 多分支
if [ $score -ge 90 ]; then
echo "优秀"
elif [ $score -ge 60 ]; then
echo "及格"
else
echo "不及格"
fi
五、循环语句
5.1 for 循环
for i in {1..10}; do
echo "数字:$i"
done
5.2 while 循环
i=1
while [ 



i"
i=$((i+1))
done
5.3 case 语句
read -p "请输入选项 [1/2/3]:" opt
case $opt in
echo "执行操作一" ;;
echo "执行操作二" ;;
echo "执行操作三" ;;
*) echo "输入错误" ;;
esac
六、企业级实战:主机存活检测脚本
#!/bin/bash
read -p "请输入要检测的 IP:" ip
ping -c 2 -W 1 $ip > /dev/null
if [ $? -eq 0 ]; then
echo "【正常】主机 $ip 存活 "
else
echo "【异常】主机 $ip 不可达"
fi
七、实战扩展:MAC 地址采集脚本
#!/bin/bash
echo "==== 本机网卡 MAC 地址信息 ===="
for eth in $(ip addr | grep "^[0-9]" | awk '{print 2}' | tr -d :) do mac=(ip addr show $eth | grep link/ether | awk '{print 2}') echo "网卡:eth MAC:$mac"
done
八、定时任务 crontab 基础
示例:每天凌晨 2 点执行备份脚本
0 2 * * * /root/backup.sh
九、学习总结
Shell 脚本语法简洁、功能强大,是 Linux 自动化的基础工具。本文覆盖了变量、判断、循环、实战脚本、定时任务等核心内容,掌握这些知识后,可应对日常运维 80% 的自动化需求。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐