2017-10-11 76 views
1

我希望每个窗口状态都包含有关当前窗格目录的信息,但我想用awk将它修剪一下。我正在使用tmux v1.8并使用zsh作为我的shell。在tmux中正确地逃避awk命令窗口状态格式

我试过以下(和我能想到的每种逃避),但它不起作用。

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

有人能帮我正确地逃避这个,所以这个命令的作品?谢谢!

+0

?所有的shell已经有了一个cmd'set',你不需要把cmd发送到'tmux'吗?我在这里看不到发生这种情况。只是第二组眼睛,而不是一个tmux用户(显然)。祝你好运。 – shellter

+0

这是tmux用来配置自身的〜/ .tmux.conf文件。 – mikeecb

+0

这适用于tmux v2.5 – mikeecb

回答

0

我们可以通过#(shell-command)表格逃脱美元符号。
所以,$2可以用\$2像这样进行转义:这哪里是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 /'s的时候在窗口状态中看到空的结果。 – hchbaw