发生错误后是否停止执行?

big*_*ree 3 bash

运行 shell 脚本时,假设在一行发生错误。其他行是否已执行或脚本的执行是否停止?我有一个脚本,我想在周末用许多命令执行,我想确保如果一行发生错误,其他行会被执行。

sai*_*895 6

无论命令中的错误如何(退出状态不是 0),执行都会继续,除非您明确指定在发生错误 ( set -e) 时停止执行。但是,在出现语法错误的情况下,执行会停止。

作为一般注意事项,如果后续命令依赖于之前正确运行的任何命令,那么这些命令将无法正常工作。

  • 这并不完全正确,这取决于错误的类型。例如,语法错误将停止执行。 (7认同)