Bash 脚本:获取真实远程(mosh+ssh)IP

Bash 脚本:获取真实远程(mosh+ssh)IP

我在用着莫什+ GNU Screen 适用于我的大部分远程工作。我也会在工作日内移动位置(使用不同的 IP 地址),这种设置可以让一切顺利运行。我有一个愿望。

我希望将从服务器到客户端的 ping 速度作为屏幕状态栏中的值。

为此,我编写了一个简单的脚本来执行以下操作:

`ping -q -c 1 `who am i | egrep -o "\([^\)]+\)" | egrep -o "[0-9-]+{4}" | sed "s/\-/\./g"` | grep 'rtt min' | cut -d / -f 5 | cut -f 1 -d .

问题是,当我前往其他位置时,mosh 会重新连接,但who am i命令不再返回我的真实 IP。

我的问题:

是否有一个强大的命令可以返回当前使用 mosh/ssh 连接的客户端的 IP 地址?


更新:

这似乎有效:

ping -q -c 1 `last | grep $USER | grep "still logged in" | egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | head -n 1` | grep 'rtt min' | cut -d / -f 5 | cut -f 1 -d .

必须在更多地点进行测试。

答案1

我发现这个有效:

ping -q -c 1 `last | grep $USER | grep "still logged in" | egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | head -n 1` | grep 'rtt min' | cut -d / -f 5 | cut -f 1 -d .

Last-command 显示您的‘当前’远程 IP。

相关内容