nfa*_*rar 2 bash error-handling
我的 .bashrc 文件是模块化的,我在其中进行了一些错误检查。在 bash 脚本中,我通常有一个函数 _errexit(或类似的东西),当我检测到错误并想要退出时调用它。
就我的 bashrc 文件而言,我不想退出(它会关闭外壳) - 但我确实想显示一条错误消息并立即停止处理。
任何想法这可能是什么?
在 BASH 中,您可以使用return内置的:
返回 [n]
使函数以 n 指定的返回值退出。如果省略 n,则返回状态为函数体中执行的最后一个命令的状态。 如果在函数外部使用,但在由 . (source) 命令,它会导致 shell 停止执行该脚本并返回 n 或脚本中执行的最后一个命令的退出状态作为脚本的退出状态。 如果在函数外部使用而不是在脚本执行期间使用 .,则返回状态为 false。与 RETURN 陷阱关联的任何命令都会在函数或脚本之后恢复执行之前执行。
对于其他 shell,它当然可能以不同的方式工作。
如果您可以将主脚本重写为循环,则可以break根据循环命令的结果使用该语句。