Ping服务器/域,将IP捕获为变量

时间:2013-06-02 02:53:18

标签: variables dns ip ping capture

我有一个问题似乎无法找到答案。使用Windows,您可以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 个答案:

答案 0 :(得分:0)

我正在提出问题并将其发布在此处供未来用户使用


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

此时您可以在脚本中使用ip变量。

例如,在ping google.com时会得到以下结果:

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

此时ip变量将包含74.125.225.96