我想从 tmux 会话中 获取window_name变量的值。
showenv '#{window_name}'
Run Code Online (Sandbox Code Playgroud)
给出一个错误
未知变量:#{window_name}
变量名称的任何其他形式的规范:用单引号或双引号引起来的#window_name 或 {window_name}都会产生相同的错误。
我怎样才能得到它的价值?
“showenv”不起作用,因为这些根本不是环境变量。(虽然它们在 shell 脚本中可能是类似的东西,但它们实际上生活在完全不同的世界中,shell 只是假装环境变量是 shell 变量。)还要注意,the和#the{\xe2\x80\xa6}都不是变量名称的一部分;它们都仅表示扩展本身。
要列出所有格式变量,您可以使用tmux display-message -a或阅读 tmux 手册页“格式”部分下提供的列表。
$ tmux display-message -a\nalternate_on=0\nalternate_saved_x=0\nalternate_saved_y=0\nbuffer_mode_format=#{buffer_size} bytes (#{t:buffer_created})\nclient_control_mode=0\nRun Code Online (Sandbox Code Playgroud)\n\n要从命令行测试扩展,请使用tmux display-message [-p] <text>:
$ tmux display-message -p "This is #{window_name} in #{session_name}."\nThis is bash in 0.\nRun Code Online (Sandbox Code Playgroud)\n