我正在尝试创建一个执行多个命令的 shell 脚本(例如 test.sh),并将每个命令的 stdout 和 stderr 重定向到特定的日志文件。
但是,如果命令失败,在将 stderr 写入日志文件后,我想中止,而不是继续执行剩余的命令。
以下是否有效,还是我需要做一些不同的事情?
command1 > log1.txt 2>&1
command2 > log2.txt 2>&1
command3 > log3.txt 2>&1
确保每个命令在失败时返回错误代码(即非零),然后您可以使用它来保释包含脚本,例如:
if command1 > log1.txt 2>&1; then
if command2 > log2.txt 2>&1; then
command3 > log3.txt 2>&1
fi
fi
或者,更简洁地说:
command1 > log1.txt 2>&1 &&
command2 > log2.txt 2>&1 &&
command3 > log3.txt 2>&1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句