在 Linux 系统中,Shell 脚本是自动化任务和系统管理的强大工具。而 变量替换 是 Shell 编程中最基础也最实用的功能之一。无论你是刚接触 Linux 的新手,还是想提升脚本编写效率的中级用户,掌握这些技巧都能让你事半功倍。

简单来说,变量替换 就是在 Shell 脚本或命令行中,用变量的值来替代变量名本身。例如:
$ name="Alice"$ echo "Hello, $name!"# 输出:Hello, Alice!在这个例子中,$name 被替换成它的值 Alice。这就是最基本的变量替换。
如果变量未定义或为空,就使用默认值:
$ unset username$ echo "欢迎你,${username:-访客}!"# 输出:欢迎你,访客!$ username="Bob"$ echo "欢迎你,${username:-访客}!"# 输出:欢迎你,Bob!这个技巧常用于脚本中设置可选参数的默认值,非常实用。
与上面类似,但会将默认值永久赋给变量(如果原变量为空):
$ unset port$ echo "端口:${port:=8080}"# 输出:端口:8080$ echo $port# 输出:8080(变量已被赋值)如果变量未设置,就显示错误信息并退出脚本:
$ unset config_file$ echo "配置文件:${config_file:?未指定配置文件路径!}"# 输出:bash: config_file: 未指定配置文件路径!这在关键参数缺失时能快速发现问题,是编写健壮脚本的好习惯。
Bash 还支持强大的字符串操作:
${var#pattern}:从开头删除最短匹配${var##pattern}:从开头删除最长匹配${var%pattern}:从结尾删除最短匹配${var%%pattern}:从结尾删除最长匹配${var/pattern/replacement}:替换第一个匹配项${var//pattern/replacement}:替换所有匹配项$ filepath="/home/user/documents/report.pdf"$ echo "文件名:${filepath##*/}"# 输出:文件名:report.pdf$ echo "目录:${filepath%/*}"# 输出:目录:/home/user/documents$ echo "改为.txt:${filepath/.pdf/.txt}"# 输出:改为.txt:/home/user/documents/report.txt结合上述技巧,我们可以写一个简单的备份脚本:
#!/bin/bashSOURCE_DIR=${1:?请提供要备份的目录路径}BACKUP_DIR=${2:-/backup}DATE=$(date +%Y%m%d)mkdir -p "$BACKUP_DIR"tar -czf "$BACKUP_DIR/backup_$DATE.tar.gz" "$SOURCE_DIR"echo "备份完成:$BACKUP_DIR/backup_$DATE.tar.gz"运行方式:./backup.sh /home/user → 备份到默认 /backup 目录./backup.sh → 报错提示缺少参数
掌握 Linux Shell 变量替换、Shell 脚本技巧、环境变量使用 和 Bash 字符串操作,不仅能让你写出更简洁高效的脚本,还能大幅提升日常运维效率。建议多在终端中动手尝试,把这些语法变成你的“肌肉记忆”。
现在,就打开你的终端,试试这些技巧吧!
本文由主机测评网于2025-11-29发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025111170.html