我希望当库函数失败时,提供该库的 bash 应用程序被终止。
有人告诉我set -e
这样做。
库文件
#!/bin/bash
function die
{
echo "dying: $1"
exit 1
}
function get_info
{
die "oops an error"
}
应用程序
#!/bin/bash
set -e
source "lib.sh"
echo "info: $(get_info)"
echo "ok"
运行
$> bash app.sh
info: dying: oops an error
ok
die
以 1 退出,因此app.sh
也set -e
应该被杀死,对吗?
为什么这不起作用?