サーバーでポートが開いていることを確認するスクリプトを作成したいと思います。開かない場合はしばらく滞在してください。開いている場合は続けます。使用される割り込み条件は「終了」ではなく「ホスト動作中」です。接続が良くなったようです。問題は、grepが期待どおりに機能しないことです。
私は以下を試しました:
while true; do
NMAP=$(nmap -p 1700 router.eu.thethings.network)
if [[$NMAP | grep "Host is up" -ne ""]] && [[$NMAP | grep "closed" -eq ""]]; then
echo "connection!!!"
break
fi
echo "waiting for connectiong"
done
私はRaspberry Pi Jesseシステムで実行しています。
ベストアンサー1
nmap -p 1700 router.eu.thethings.network
ホストネットワークが動作していてポートでリッスンしているものがない場合は、「Host is up」が印刷されます。代わりに使用してくださいnc
:
if nc -w1 -z router.eu.thethings.network 1700; then
echo "Port is listening"
else
echo "Port is not listening"
fi