Keep it Simple
until nc -z 127.0.0.1 25565
do
echo ...
sleep 1
done
Nechte shell implicitně řešit stav ukončení
Shell se dokáže vypořádat se stavem ukončení (zaznamenaným v $?
) dvěma způsoby, explicitním a implicitním.
Explicitní:status=$?
, což umožňuje další zpracování.
Implicitní:
U každého výroku v mysli , přidejte k příkazu slovo "úspěch" a poté přidejteif
, until
nebo while
konstrukty kolem nich, dokud tato fráze nedává smysl.
until nc
úspěch ; do ...; done
-z
volba se zastaví nc
z čtení stdin, takže není potřeba < /dev/null
přesměrování.
Můžete zkusit něco jako
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!"
Rekurzivně měnit přípony souborů v Bash
Jak se vyhnout Žádný takový soubor nebo adresář Chyba pro cíl Makefile `make clean`