可以显著提升脚本的健壮性和效率
1. set -x:调试模式(跟踪执行)
在执行命令前打印命令及其参数,帮助调试脚本:
bash
复制代码
 2. trap:优雅处理信号和错误
捕获脚本退出信号(如错误或中断),执行清理操作:
bash
复制代码
 3. set -E:继承陷阱(Error Trap)
让函数也能继承 trap 设置,确保错误处理一致性:
bash
复制代码
 4. shopt -s nullglob:空匹配时返回空字符串
当通配符匹配失败时,不返回原模式而是空字符串:
bash
复制代码
 5. shopt -s dotglob:通配符包含隐藏文件
让 * 等通配符匹配以 . 开头的文件:
bash
复制代码
 6. shopt -s expand_aliases:在脚本中启用别名
默认情况下脚本不展开别名,使用此选项可启用:
bash
复制代码
 7. set -m:作业控制(Monitor Mode)
启用作业控制,允许在后台运行命令并恢复到前台:
bash
复制代码
 8. export IFS=$'\n\t ':自定义字段分隔符
修改内部字段分隔符(IFS)以安全处理包含空格的文件名:
bash
复制代码
 9. command -v:安全检查命令是否存在
检查命令是否存在,避免因命令不存在导致的错误:
bash
复制代码
 10. printf %q:安全引用变量
将变量内容转换为可安全用于 Shell 的格式:
bash
复制代码
 11. local:函数内局部变量
在函数内部使用 local 声明局部变量,避免污染全局环境:
bash
复制代码
 12. set -o functrace:跟踪函数调用
启用函数调用跟踪,结合 trap 可实现函数进入 / 退出日志:
bash
复制代码
 13. [[ ... ]]:高级条件判断
双括号条件判断支持更丰富的表达式,如正则匹配:
bash
复制代码
 14. ( command ):子 Shell 执行
在子 Shell 中执行命令,避免影响当前环境:
bash
复制代码
 15. { command1; command2; }:命令组
将多个命令组合为一个块,共享环境变量:
bash
复制代码
 这些技巧能极大提升 Shell 脚本的健壮性、可读性和可维护性。建议将常用的设置添加到 .bashrc 或 .zshrc 中,让它们在每次启动 Shell 时自动生效。
版权声明: 本文为 InfoQ 作者【Joseph295】的原创文章。
原文链接:【http://xie.infoq.cn/article/69c0012898d4dfdbfc3c76a86】。文章转载请联系作者。







    


评论