如何避免在特定命令失败时退出shell脚本

时间:2014-05-01 20:12:39

标签: shell sh

以下脚本使用-e选项运行,因此如果其中的任何命令失败,它将退出:

#!/bin/sh -e
command1 #script should fail if command1 fails
command2 #script should NOT fail if command2 fails
command3 #script should fail if command3 fails

如何在<{1}}上使脚本失败?

3 个答案:

答案 0 :(得分:10)

command1
command2 || true
command3

答案 1 :(得分:3)

您可以根据需要关闭设置:

#!/bin/sh
set -e

command1 #script should fail if command1 fails

set +e
command2 #script should NOT fail if command2 fails
set -e

command3 #script should fail if command3 fails

答案 2 :(得分:0)

如果你在shell中运行一个退出的命令,可以通过在子shell中运行它来阻止它:

(. script.sh)