以tmux窗口状态格式正确转义awk命令

以tmux窗口状态格式正确转义awk命令,awk,zsh,tmux,Awk,Zsh,Tmux,我希望每个窗口状态都包含有关当前窗格目录的信息,但我希望使用awk对其进行一些修剪。我使用tmuxv1.8,并使用zsh作为shell 我尝试了以下方法(以及我能想到的各种逃跑方法),但都不起作用 set -g window-status-format "#(echo '#{pane_current_path}' | awk -F 'Documents/' '{print $2}')" 有人能帮我正确地逃脱这个命令吗?谢谢 我们可以在#(shell命令)表单中转义美元符号。 因此,\$2可以像

我希望每个窗口状态都包含有关当前窗格目录的信息,但我希望使用awk对其进行一些修剪。我使用tmuxv1.8,并使用zsh作为shell

我尝试了以下方法(以及我能想到的各种逃跑方法),但都不起作用

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

有人能帮我正确地逃脱这个命令吗?谢谢

我们可以在
#(shell命令)
表单中转义美元符号。
因此,
\$2
可以像这样用
\$2
进行转义:

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

我们可以在
#(shell命令)
表单中转义美元符号。
因此,
\$2
可以像这样用
\$2
进行转义:

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

这个cmd字符串是从哪里执行的,或者它包含在什么
.cfg
文件(或类似文件)中?所有Shell都已经设置了cmd
set
,您不需要将cmd“发送”到
tmux
?我不认为这会发生在这里。只是第二组眼睛,而不是tmux用户(显然)。祝你好运。这在tmux用来配置自身的~/.tmux.conf文件中。这在tmux v2.5上有效发生了什么?您能描述一下预期的结果吗?看起来这在v1.8中不起作用,但在v2.5中确实起作用。我不知道为什么。这个cmd字符串是从哪里执行的,或者它包含在什么
.cfg
文件(或类似文件)中?所有Shell都已经设置了cmd
set
,您不需要将cmd“发送”到
tmux
?我不认为这会发生在这里。只是第二组眼睛,而不是tmux用户(显然)。祝你好运。这在tmux用来配置自身的~/.tmux.conf文件中。这在tmux v2.5上有效发生了什么?您能描述一下预期的结果吗?看起来这在v1.8中不起作用,但在v2.5中确实起作用。我不知道为什么。发出命令
mkdir-p/tmp/Documents/test&&cd/tmp/Documents/test
并查看结果如何?
awk
命令的字段分隔符是
Documents/
,因此我假设如果
{pane\u current\u path}中没有任何
Documents/
s,那么它将在窗口状态中看到空结果
。发出命令
mkdir-p/tmp/Documents/test&&cd/tmp/Documents/test
并查看结果如何?
awk
命令的字段分隔符是
Documents/
,因此我假设如果
{pane\u current\u path}
中没有任何
Documents/
的话,它是用来在窗口状态中查看空结果的。