2013-06-02 37 views
1

我有一個問題,我似乎無法找到答案。使用Windows,您可以ping一個給定的域名,並將ip作爲變量捕獲,即使沒有收到回覆。我相信這個命令看起來像這樣:Ping服務器/域名,IP作爲變量

ping domain.com for /f "tokens=1,2 delims=[]" %%A in ('ping /n 1 /w 1 domain.com ^| find "Pinging"') do set ipaddress=%%B" 

這正是我想要做的與bash腳本而不是批處理文件。我偶然發現了很多非常接近的問題,但並不完全符合我的要求。我似乎無法找出解決這個問題的最佳方式。我如何使用bash腳本捕獲IP地址?

PS:我還是比較新的linux環境。

+1

爲什麼不使用'nslookup'或'host'? ping hack適用於沒有nslookup的較早版本的windoze版本,例如win9x –

+0

你能解釋一下,你到底想要達到什麼目的?你可能會以這種方式獲得更好的答案/答案。 – PSS

+0

我試圖ping一個域,並將服務器IP捕獲爲一個變量,以便在bash腳本中進一步使用,但我在隔離所需的單個IPa時遇到了問題。 NSLookup捕獲所有四個IPa作爲一個單一的變量,但我只需要一個。道歉,如果不清楚。 – MHFSU

回答

0

我拉回答出的問題,並在這裏張貼了未來用戶


ip=$(ping -c 1 $input | gawk -F'[()]' '/PING/{print $2}') 

您可以在這一點上使用ip變量在腳本中。

舉個例子,查驗google.com當你得到這樣的結果:

echo $(ping -c 1 google.com | gawk -F'[()]' '/PING/{print $2}') 
74.125.225.96 

而在這一點上ip變量將包含74.125.225.96

+0

謝謝你。我有點晚了,但謝謝。這是我需要的。 – MHFSU