SSHクライアントの着信IPアドレスをtmuxステータスバーに設定しようとしていますが、どうしてもわかりません。これは私の.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)
ため、パーセント記号を 2 倍にする必要があります。strftime
set -g status-right '#[fg=white]#(echo ${SSH_CONNECTION%%%% *})'