我里面有一个bash脚本:
exit 1
当我“获取”该脚本而不是运行它时,它将导致调用方退出。
该脚本是否可以确定它是使用“源代码”而不是其脚本运行的?
答案 0 :(得分:6)
您可以在脚本中使用此检查:
[[ $0 = $BASH_SOURCE ]] && echo "normal run" || echo "sourced run"
或者在您致电if/else/fi
的任何地方使用exit
:
if [[ $0 = $BASH_SOURCE ]]; then
exit 1
else
# don't call exit
echo "some error..."
fi