如果你发现自己每天敲同一串命令,就该写成 Shell 脚本了。它能把重复劳动自动化,是提升效率的利器。
一、第一个脚本
#!/bin/bash
# 备份网站目录
tar -czf /backup/site-$(date +%Y%m%d).tar.gz /var/www
echo "备份完成"
chmod +x backup.sh # 加执行权限
./backup.sh # 运行
二、变量与参数
NAME="gdcpsoft" # 变量
DIR=$1 # 接收第一个参数
echo "备份 $NAME 到 $DIR"
三、条件判断
if [ -d "/var/www" ]; then
echo "目录存在"
else
echo "目录不存在"
fi
四、循环
# 遍历处理多个文件
for f in /var/www/*.html; do
echo "处理 $f"
done
五、实战:批量重命名
for f in *.txt; do
mv "$f" "${f%.txt}.md"
done
${f%.txt} 是参数扩展,表示去掉变量末尾的 .txt。Shell 的字符串处理能力很强大。
六、小结
Shell 脚本的学习曲线不陡,但能极大提升运维效率。从把日常命令固化成脚本开始,逐步掌握变量、判断、循环,你会越来越离不开它。