在 bash 配置文件中,是否有一个选项可以在任何命令的第一个错误时停止



我想在我的 bashrc/zshrc 中使用类似"set -e"的东西,这样每当我启动命令时,它都会在第一个错误时停止并返回到提示符,而不是继续执行命令的其余部分。

但是,在 bashrc/zshrc 配置文件中使用"set -e"不起作用,因为每当我输入带有错误的命令(例如 diff 文件.txt文件.txt返回非零时,它都会退出终端会话(而不是返回到提示符)

它没有按预期运行的原因是因为运行脚本会启动一个具有自己环境的子 shell。从命令提示符运行单个命令将在出错时退出,但脚本有时会继续。我假设您正在谈论运行脚本。

请阅读以下链接中的信息:"退出陷阱"如何使您的 Bash 脚本更加健壮和可靠

使用该页面上概述的函数,然后在脚本中设置陷阱将增加脚本在发生错误时干净退出的可能性。如果您从脚本中按 CTRL-C 跳出来,它甚至会运行清理功能!

确保在每个脚本中也放置了 set -e。

此外,本页还介绍了一些相同的材料,以及更多内容:编写健壮的 Bash Shell 脚本

希望这有帮助

相关内容

  • 没有找到相关文章

最新更新