連続するIPアドレスに ping を打ち応答があったものだけ表示する cygwin の bash で while ループ
Windows PCで連続するIPアドレスに ping を打ち応答があったものだけ表示したかった。
cygwinを入れていたのでbashを使用した。 (反則)
改行コードにCRがあるとエラーになるのでLFにした。
ping は Windows のコマンドを使用した。
/dev/null 相当のファイル(?)として nul がある。
hostaddress=1 while [ $hostaddress -le 254 ] do ipaddress=192.16.0.$hostaddress ping -n 2 $ipaddress > nul if [ $? -eq 0 ] ; then echo $ipaddress OK fi let hostaddress=hostaddress+1 done
探したらコマンドプロンプトで for ループを使うやり方が紹介されていた。
pingの連続実行 -- No.1 LANにつながる全パソコンへ順番にpingを打って応答を調べる