【发布时间】:2017-01-25 20:30:23
【问题描述】:
代码如下:
command="ssh -p 2222 -t root@$ip";
command2='"printenv SSH_CONNECTION;bash"'
xfce4-terminal -x sh -c "$command $command2; bash"
输出是:
00.00.00.00 53011 10.245.0.225 2222
第一项是我的 ip。我用 0 替换了所有数字。
第二项.. 可能是 PID 什么的。
第三项.. 可能是云主机所说的“私有 ip”的东西。
第四项.. ssh 端口。
我想要的只是打印出我的 ip。
而不是所有其他的东西。
换句话说就是
00.00.00.00
最干净的..最轻的..资源消耗最少的方法..
【问题讨论】:
-
只是为了验证
bash的所有额外调用是必要的:您想打开一个连接到远程主机的新终端,在那里显示IP 地址,然后将您留在远程shell ,当你退出 that shell 时,终端在本地 shell 中保持打开状态? -
您在
SSH_CONNECTION中看到的值的格式为sourceIP sourcePort destinationIP destinationPort。您需要做的就是将printenv SSH_CONNECTION替换为echo \${SSH_CONNECTION%% *}。