如何查找当前登录的终端的IP?

时间:2011-11-11 11:25:33

标签: linux bash ssh awk

我能够编写一个脚本,返回登录的远程用户的IP地址。它是这样的:

nslookup `pinky | sed -n '2,2p' | awk '{ print $5}'` | tail -n2 | grep Address |  awk '{ print $2}'

然而,由于涉及到大量解析,我不能确定它在所有条件下都能完美运行。

有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

尝试

ip="${SSH_CLIENT/ */}"

它更短。

另一方面,我不确定2,2p到底是什么意思。你想要哪个远程用户?列表中的第一个?

答案 1 :(得分:0)

为了那些对在 root 下工作的类似解决方案感兴趣的人,这里是脚本:

#!/bin/bash
TERM_CLI_NAME=`who am i | awk '{print $5}'|sed 's/.\(.*\)./\1/'`
nslookup $TERM_CLI_NAME | tail -n2 | grep Address |  awk '{ print $2}'