私はtmuxステータス内に2つの異なるタイムゾーンを表示しようとしています。私は、シェル内で実行されるときに動作するunix date
ユーティリティを使用するコマンドを持っています。環境変数をtmuxステータスに設定してください
echo $(TZ=':US/Pacific' date '+%Z %H:%M:%S' && TZ=':Europe/London' date '+%Z %H:%M:%S')
が生成されますPDT 04:05:59 BST 12:05:59
はしかし、それは私がtmuxの中に、このコマンドを実行すると、変数TZ
が上書きされている環境のように思えます。
set -g status-right "#(echo $(TZ=':US/Pacific' date '+%Z %H:%M:%S' && TZ=':Europe/London' date '+%Z %H:%M:%S'))"
ディスプレイ:PDT 04:09:01 PDT 04:09:01
は、tmuxのステータスバーに表示されます。
私は一度に1つのローカライズされた日付コマンドを実行する小さなシェルスクリプトを書くことでこれを解決できますが、余分なファイルに依存したくありません。私はeval
を使用しようとしましたが、運はありません。どんな助けもありがとう。
更新:
次のようにも動作しません。私の環境では
set -g status-right "#(echo $(TZ=':US/Pacific' date '+%Z %H:%M:%S')) #(echo $(TZ=':Europe/London' date '+%Z %H:%M:%S'))"
を通じて回通過する際に、私は問題がステータスバーに複数行の出力に関してれるとは思わないよう別の%と%をエスケープすることです。複数のコマンドで構成されている別のtmuxステータスバーの設定を表示するように質問を更新しました。 – mikeecb
しかし私の環境で動作します。申し訳ありませんが、私は問題を知らない、多分私は把握するために時間がかかる必要があります。たぶん私はそれを理解することができませんでした。 @mikeecb – zhenguoli