我有一个问题似乎无法找到答案。使用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环境还不熟悉。
答案 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