シンプルに保つ
until nc -z 127.0.0.1 25565
do
echo ...
sleep 1
done
シェルに暗黙的に終了ステータスを処理させる
シェルは終了ステータスを処理できます ($?
に記録されます) ) 明示的および暗黙的な 2 つの方法で。
明示的:status=$?
、これにより、さらなる処理が可能になります。
暗黙:
すべてのステートメントについて、頭の中で 、コマンドに「succeeds」という単語を追加してから、if
を追加します。 、 until
または while
フレーズが意味を成すまで、それらの周りに構築します。
until nc
成功 ; do ...; done
-z
オプションは nc
を停止します stdin の読み取りから、< /dev/null
の必要はありません リダイレクトします。
次のようなものを試すことができます
while true; do
nc 127.0.0.1 25565 < /dev/null
if [ $? -eq 0 ]; then
break
fi
sleep 1
done
echo "The command output changed!"