检查,实际上最终值被设置:
tmux show-option -g | grep status-right
我希望,你会发现身边有inet
没有双引号。双引号解析不认为#()
语法是特殊的(不像shell中的"$()"
,在这里你可以简单地在命令替换中使用双引号)。因此,分析在三个片完成:
"#[fg-cyan]#(ifconfig | awk '$1 == "
inet
" { print $2 }') #[fg=cyan]%d %b %R"
这些连接成这样:
#[fg-cyan]#(ifconfig | awk '$1 == inet { print $2 }') #[fg=cyan]%d %b %R
作为AWK程序,这结束了对照名为inet
的未设置变量检查$1
而不是字面字符串"inet"
; awk可能不会抱怨,但没有行会匹配。
可以逃脱双引号,让他们传递到最终的字符串:
set -g status-right "#[fg-cyan]#(ifconfig | awk '$1 == \"inet\" { print $2 }') #[fg=cyan]%d %b %R"
当我设置这个,我只看到127.0.0.1
虽然;您可能需要添加|tail -1
以使用最后一行而不是第一行。其他
两个项目:
- 你有
[fg-
,而不是[fg=
和
- ,因为你是在指定的地方都相同的颜色,你可以很可能只是省略了第二个。
这样:
set -g status-right "#[fg=cyan]#(ifconfig | awk '$1 == \"inet\" { print $2 }'|tail -1) %d %b %R"
辉煌!谢谢! – wonbyte 2013-03-05 16:04:24