如何在 tmux 中转储内部会话变量?

如何在 tmux 中转储内部会话变量?

我想得到一个值窗口名称tmux 会话中的变量。

showenv '#{window_name}'

给出错误

未知变量:#{window_name}

变量名称的任何其他指定形式:#window_name 或 {window_name}用单引号或双引号引用都会出现同样的错误。

我怎样才能获得它的价值?

答案1

“showenv” 不起作用,因为这些根本不是环境变量。(虽然它们可能是类似的东西在 shell 脚本中,它们实际上生活在完全不同的世界中,shell 只是假装环境变量是 shell 变量。)另请注意两者都不#都不{…}是变量名的一部分;它们都只表示扩展本身。

列出全部格式变量,您可以使用tmux display-message -a或者只阅读 tmux 手册页中“FORMATS”部分提供的列表。

$ tmux display-message -a
alternate_on=0
alternate_saved_x=0
alternate_saved_y=0
buffer_mode_format=#{buffer_size} bytes (#{t:buffer_created})
client_control_mode=0

要从命令行测试扩展,请使用tmux display-message [-p] <text>

$ tmux display-message -p "This is #{window_name} in #{session_name}."
This is bash in 0.

相关内容