ウェブサイトに保存されているIP情報を整理/更新する方法は?

ウェブサイトに保存されているIP情報を整理/更新する方法は?

シェルスクリプトを使用してインターネットに接続されていることを確認しようとしています。私はこれを使ってこれを行うことができると思います。平らなこれは、pingが成功すると括弧内にIP情報が表示されるためです。角かっこがない場合は、次を使用します。切るこのコマンドは特定の変数を割り当てます。この場合、変数は空になります。

だから、私は次のコードを書いた。

echo " First check whether internet is working or not  : "
internetCheck=$(ping -c 1 google.com | cut -s -d "(" -f1)
if [ -z "$internetCheck" ]; then 
  echo "NO INTERNET CONNECTION FOUND !"
else 
  echo "[ OK ] Internet is connected.\n"
fi

効果がありました。しかし、接続を切断して同じウェブサイト(google.com)に対してスクリプトを繰り返すと、システム(?)が最後のpingコマンドの結果を思い出して失敗します。以前のping結果を整理/更新する方法は?

答え1

より良いテスト、grepは必要ありません...

echo " First check whether internet is working or not  : "
if ping -q -c 1 <host> > /dev/null 2>&1 ; then
  echo "[ OK ] Internet is connected.\n"
else 
  echo "NO INTERNET CONNECTION FOUND !"
fi

答え2

名前をIPアドレスに変換する操作は通常、ローカルDNSリゾルバによって実行され、キャッシュされます。そのため、接続していなくても住所がわかります。

より良いオプションは100% packet loss修正されたスクリプトバージョンです。

echo " First check whether internet is working or not  : "
if ping -c 1 google.com | grep -qE '100% packet loss|Temporary failure in name resolution' ; then 
  echo "NO INTERNET CONNECTION FOUND !"
else 
  echo "[ OK ] Internet is connected.\n"
fi

関連情報