我能寫一個腳本返回登錄的遠程用戶的IP地址。它是這樣的:如何查找當前登錄的終端的IP?
nslookup `pinky | sed -n '2,2p' | awk '{ print $5}'` | tail -n2 | grep Address | awk '{ print $2}'
然而,由於涉及到的重解析,我不能肯定它會在所有情況下完美運行。
有沒有更好的方法?
我能寫一個腳本返回登錄的遠程用戶的IP地址。它是這樣的:如何查找當前登錄的終端的IP?
nslookup `pinky | sed -n '2,2p' | awk '{ print $5}'` | tail -n2 | grep Address | awk '{ print $2}'
然而,由於涉及到的重解析,我不能肯定它會在所有情況下完美運行。
有沒有更好的方法?
對於那些有興趣在類似的解決方案下根工作的緣故,這裏的腳本:
#!/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}'
嘗試
ip="${SSH_CLIENT/ */}"
它的短。
另一方面,我不確定你的意思是什麼2,2p
。你想要哪個遠程用戶?名單上的第一個?
不幸的是,當作爲根(返回空字符串)跑了,沒有工作。 2,2p只是一個sed操作符,旨在隔離第二行。是的腳本需要修改,以確定相應的終端。 –
是的,那是我的問題是 - 爲什麼第二行?你在找什麼用戶?我給你的命令應該將ip設置爲當前連接的ssh用戶的遠程IP地址,但我不確定它現在是你想要的。 –
我su到根目錄,想要當前用戶(我的最終目標是顯示日誌,不包括我提交的操作) –
消除grep並寫入'awk'/ Address/{print $ 2}''。 – Jens