在 Bash 中检查命令是否成功
依据退出码分支,而不是解析输出文本。
使用 if 命令; then ...; fi 或 命令 || 兜底 来处理成功与失败。
01命令
命令
$ if ! grep -q "error" app.log; then echo "no errors"; fi02作用说明
每个命令都返回退出码,shell 条件直接对其判断,脚本无需解析文本即可决策。用 grep -q 做无输出测试正是这种模式:安静、快速、可脚本化。
03风险
!注意: set -e 与 if 交互微妙;条件中的失败命令在 errexit 下不会退出。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- bash.1.en.html manual page依据: The bash manual page documents exit status.
最后验证: 2026-10-13 · 分类: 开发者