![尝试在 tmux 状态栏中设置传入的 SSH IP 地址](https://linux22.com/image/1314289/%E5%B0%9D%E8%AF%95%E5%9C%A8%20tmux%20%E7%8A%B6%E6%80%81%E6%A0%8F%E4%B8%AD%E8%AE%BE%E7%BD%AE%E4%BC%A0%E5%85%A5%E7%9A%84%20SSH%20IP%20%E5%9C%B0%E5%9D%80.png)
我正在尝试在 tmux 状态栏中设置 SSH 客户端的传入 IP 地址,但我无论如何也想不通。这是我在 .tmux.conf 中的当前设置
set -g status-right '#[fg=white]#(echo $SSH_CONNECTION | awk '{print $1}')'
是什么赋予了?
答案1
试试这个。Bash 参数扩展允许您使用 % 运算符从变量扩展中删除后缀。单个 % 符号匹配最短的后缀,%% 匹配最长的后缀。由于SSH_CONNECTION
有 3 个空格分隔的字段,您需要使用 %% 删除除第一个字段(IP 地址)之外的所有字段。
${SSH_CONNECTION%% *} # Remove the first space and everything that follows it.
由于的值首先status-right
被处理strftime(3)
,因此需要将百分号加倍,因为strftime
将用文字 % 替换 %%。
set -g status-right '#[fg=white]#(echo ${SSH_CONNECTION%%%% *})'