我有一个bash脚本,里面有:
exit 1
Run Code Online (Sandbox Code Playgroud)
当我“获取”该脚本而不是运行它时,它将导致调用者退出。
脚本有没有办法确定它是使用“源”而不是脚本运行的?
您可以在脚本中使用此检查:
[[ $0 = $BASH_SOURCE ]] && echo "normal run" || echo "sourced run"
Run Code Online (Sandbox Code Playgroud)
或使用if/else/fi您要呼叫的任何地方exit:
if [[ $0 = $BASH_SOURCE ]]; then
exit 1
else
# don't call exit
echo "some error..."
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41 次 |
| 最近记录: |