1

我有一个问题,我似乎找不到答案。使用 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环境还是很陌生。

4

1 回答 1

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

于 2014-05-28T15:15:12.837 回答