小编Too*_*ets的帖子

我可以确定是否通过命令替换调用了当前函数吗?

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 函数是通过命令替换调用的

有什么办法可以做到这一点吗?

bash command-substitution subshell

4
推荐指数
1
解决办法
57
查看次数

标签 统计

bash ×1

command-substitution ×1

subshell ×1