set-e在BASH中的使用

set-e在BASH中的使用,bash,Bash,我想知道是否有可能在BASH程序中编写这种代码 我想要一些看起来像: if set -e echo "Error" fi 实际上,我的老师刚刚告诉我set-e在出现错误时会停止程序。我真的不知道它是怎么工作的。我想要的是,当程序的任何部分出现错误时,它会回显“错误” 我只是在学习如何使用bash,所以我的知识还不是很好 我想要的是当程序的任何部分出现错误时 它确实回显“错误” 您可以使用陷阱: trap "echo Error" ERR cat ./file_that_doesnt_e

我想知道是否有可能在BASH程序中编写这种代码 我想要一些看起来像:

if set -e
    echo "Error"
fi

实际上,我的老师刚刚告诉我set-e在出现错误时会停止程序。我真的不知道它是怎么工作的。我想要的是,当程序的任何部分出现错误时,它会回显“错误”

我只是在学习如何使用bash,所以我的知识还不是很好

我想要的是当程序的任何部分出现错误时 它确实回显“错误”

您可以使用陷阱:

trap "echo Error" ERR
cat ./file_that_doesnt_exist
echo "something after the error"
如果将此选项与
set-e
结合使用,程序将显示消息并立即退出-即,回显将不会运行

我想要的是当程序的任何部分出现错误时 它确实回显“错误”

您可以使用陷阱:

trap "echo Error" ERR
cat ./file_that_doesnt_exist
echo "something after the error"

如果将其与
set-e
结合使用,程序将显示消息并立即退出-即回显将不会运行。

您可以安装
陷阱处理程序来执行自定义代码

set -e
trap 'echo "Error $?"' ERR

...

# Simulate a command that fails by calling `exit` in a subshell.
(exit 3)

您可以安装
trap
处理程序来执行自定义代码

set -e
trap 'echo "Error $?"' ERR

...

# Simulate a command that fails by calling `exit` in a subshell.
(exit 3)

实际上,我的老师刚刚告诉我set-e在出现错误时会停止程序。我真的不知道它是怎么工作的。我想要的是,当程序的任何部分出现错误时,它都会回显“错误”
啊,我的内存不好。实际上,我的老师刚刚告诉我,当出现错误时,set-e会停止程序。我真的不知道它是怎么工作的。我想要的是,当程序的任何部分出现错误时,它会回显“错误”啊,我的内存不好。