tmux で内部セッション変数をダンプするにはどうすればいいですか?

tmux で内部セッション変数をダンプするにはどうすればいいですか?

の値を取得したいウィンドウ名tmux セッション内からの変数。

showenv '#{window_name}'

エラーが発生する

不明な変数: #{window_name}

変数名のその他の指定形式:#window_name または {window_name}一重引用符または二重引用符で囲むと、同じエラーが発生します。

どうすればその値を取得できますか?

答え1

「showenv」は動作しません。これらは環境変数ではないからです。(似たようなものかもしれませんがシェルスクリプトで実際には、それらは完全に別の世界に存在しており、シェルは環境変数をシェル変数であると仮定しているだけです。) また、どちらでもない#{…}変数名の一部ではありません。どちらも展開自体のみを示します。

すべてを一覧表示するフォーマット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.

関連情報