如何将会话名称捕获到 tmux 变量中?

src*_*src 5 environment-variables tmux

我想根据会话名称的值执行外部命令。我知道这:display-message '#S'会给我会话名称,但我希望将该名称自动发送到我的外部命令。

我试过了:run-shell "my-command #S",但它不起作用,因为“#S”没有被替换。

有什么:MY_VAR=$(display-message -p "#S")我可以用的吗?

Chr*_*sen 2

由于您可以直接从 shell 运行几乎所有tmux命令(而不仅仅是从tmux :提示符),因此您可以执行以下操作:

:run-shell "my-command \"$(tmux display -p '#S')\""
Run Code Online (Sandbox Code Playgroud)

当然,这也可以通过绑定来完成:

:bind C run-shell "my-command \"$(tmux display -p '#S')\""
Run Code Online (Sandbox Code Playgroud)