2017-10-11 13 views
1

各ウィンドウのステータスに現在のペイン・ディレクトリに関する情報を含めたいが、awkを使用してそれを少しトリミングしたい。私はtmux v1.8を使用していて、zshをシェルとして使用しています。awkコマンドをtmuxウィンドウのステータス・フォーマットで正しくエスケープする

私は次のことを試しました(と私は考えることができるエスケープのすべての種類)が、それは動作しません。

set -g window-status-format "#(echo '#{pane_current_path}' | awk -F 'Documents/' '{print $2}')" 

このコマンドが正しく動作するように、私はこの問題を正しく回避できますか?ありがとう!

+0


だから、$2は、このような\$2でエスケープされるだろうか?すべてのシェルにはすでにcmdが 'set'されていますが、cmdを' tmux'に "送る"必要はありませんか?私はここでそれが起こっているのを見ない。ちょうど2番目の目で、tmuxユーザーではありません(明らかに)。がんばろう。 – shellter

+0

これは〜/ .tmux.confファイル内にあり、tmuxがそれ自身を構成するために使用します。 – mikeecb

+0

これはtmux v2.5で動作します – mikeecb

答えて

0

#(shell-command)フォームでドル記号を逃れることができます。このCMDから実行されている文字列、または何 `.cfg`ファイル(または類似)があり、それが中に含まれている

set -g window-status-format "#(echo '#{pane_current_path}' | awk -F 'Documents/' '{print \$2}')" 
+0

これは動作しません。ウィンドウのステータスは空です。 – mikeecb

+0

'mkdir -p/tmp/Documents/test && cd/tmp/Documents/test'コマンドを発行し、結果を監視するのはどうですか? 'awk'コマンドのフィールドセパレータは' Documents/'ですので、'#{pane_current_path} 'に 'Documents /'がなければ、ウィンドウステータスの空の結果を見ることを意図していると仮定します。 – hchbaw

関連する問題