将变量传递给执行指令而不执行变量内容

将变量传递给执行指令而不执行变量内容

我创建了一个辅助函数来在当前窗格中显示消息:

function current_pane_id {
  echo "$(tmux display -p '#{pane_id}')"
}


function display_message {
  message="$1"
  "$(tmux display-message -p -t"$(current_pane_id)" "'$message'")"
}

像这样使用:

display_message "turned display on"

问题是,它不是将$messageto 的内容传递给命令,而是不断尝试执行 的内容$message,而且我如何尝试引用它似乎并不重要,它会继续执行它。

如何将变量的内容传递给命令而不让 bash 执行它?

答案1

那是不必要的造成的$(...)

function display_message {
  message="$1"
  tmux display-message -p -t"$(pane_id)" "'$message'"
}

相关内容