![如何在获取 ping 命令输出的第一行后终止它?](https://linux22.com/image/202295/%E5%A6%82%E4%BD%95%E5%9C%A8%E8%8E%B7%E5%8F%96%20ping%20%E5%91%BD%E4%BB%A4%E8%BE%93%E5%87%BA%E7%9A%84%E7%AC%AC%E4%B8%80%E8%A1%8C%E5%90%8E%E7%BB%88%E6%AD%A2%E5%AE%83%EF%BC%9F.png)
我想要
- 开始平命令
- 只获取第一行
- 第一行输出后终止 ping 命令并将第一行放入变量中
我做了:
firstline=$(ping -c 1 <site> > tmpfile | head -1)
但它完成 ping 命令,然后写入 tmp 文件,然后获取第一行。如何在输出第一行后终止 ping 命令的输出流?
答案1
您似乎正在尝试使用它ping
来解析主机名,并且不想在主机无法 ping 通(或需要很长时间才能响应)时等待。
ping
不是最好的工具;相反,您可以使用host
, 或dig
,例如,或者如果您想复制 执行的查找ping
,则可能最准确地使用 ,getent hosts
。这些将执行查找并返回,而无需尝试联系主机。