如何在获取 ping 命令输出的第一行后终止它?

如何在获取 ping 命令输出的第一行后终止它?

我想要

  1. 开始命令
  2. 只获取第一行
  3. 第一行输出后终止 ping 命令并将第一行放入变量中

我做了:

firstline=$(ping -c 1 <site> > tmpfile | head -1)

但它完成 ping 命令,然后写入 tmp 文件,然后获取第一行。如何在输出第一行后终止 ping 命令的输出流?

答案1

您似乎正在尝试使用它ping来解析主机名,并且不想在主机无法 ping 通(或需要很长时间才能响应)时等待。

ping不是最好的工具;相反,您可以使用host, 或dig,例如,或者如果您想复制 执行的查找ping,则可能最准确地使用 ,getent hosts。这些将执行查找并返回,而无需尝试联系主机。

相关内容