檢查,實際上最終值被設置:
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