Streaming

獲得第一行輸出後如何終止 ping 命令?

  • March 28, 2022

我想要

  1. 啟動ping命令
  2. 只得到第一行
  3. 在第一行輸出後終止 ping 命令並將第一行放入變數

我做了:

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

但它完成了 ping 命令,然後寫入 tmp 文件,然後取第一行。如何在輸出第一行後終止 ping 命令的輸出流?

似乎您正在嘗試使用ping來解析主機名,並且不想在主機不可ping通(或需要很長時間才能響應)時等待。

ping不是最好的工具;相反,您可以使用host, 或dig, 或者如果您想複製由ping,執行的查找可能是最準確的getent hosts。這些將執行查找並返回,而無需嘗試聯繫主機。

引用自:https://unix.stackexchange.com/questions/690248