![出现错误后执行会停止吗?](https://linux22.com/image/1101770/%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%E5%90%8E%E6%89%A7%E8%A1%8C%E4%BC%9A%E5%81%9C%E6%AD%A2%E5%90%97%EF%BC%9F.png)
运行 shell 脚本时,假设某一行发生错误。其他行会执行吗?还是脚本会停止执行?我有一个脚本,周末要执行很多命令,我想确保如果某一行发生错误,其他行也会执行。
答案1
无论命令中是否存在错误(退出状态不为 0),执行都会继续,除非您明确指定在发生错误时停止执行(set -e
)。但是,如果出现语法错误,执行将停止。
一般来说,如果后续命令依赖于任何先前的命令是否正确运行,那么这些命令将无法正常工作。
例子 (来源):
#!/bin/bash
set -e
# Any subsequent(*) commands which fail will cause the shell script to exit immediately