出力の最初の行を取得した後に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。これは照会を実行し、ホストに接続しようとせずにそれを返します。

関連情報