foo() {
if [[ something ]]; then
echo "The foo function was called directly."
else
echo "The foo function was invoked via command substitution."
fi
}
Run Code Online (Sandbox Code Playgroud)
直接调用 foo:
foo
foo 函数被直接调用。
通过命令替换调用 foo:
a=$(foo) || exit 1
echo "${a}"
Run Code Online (Sandbox Code Playgroud)
foo 函数是通过命令替换调用的
有什么办法可以做到这一点吗?