运行 shell 脚本时,假设某一行发生错误。其他行会执行吗?还是脚本会停止执行?我有一个脚本,周末要执行很多命令,我想确保如果某一行发生错误,其他行也会执行。
答案1
无论命令中是否存在错误(退出状态不为 0),执行都会继续,除非您明确指定在发生错误时停止执行(set -e
)。但是,如果出现语法错误,执行将停止。
一般来说,如果后续命令依赖于任何先前的命令是否正确运行,那么这些命令将无法正常工作。
例子 (来源):
#!/bin/bash
set -e
# Any subsequent(*) commands which fail will cause the shell script to exit immediately