GNU/Linux >> Belajar Linux >  >> Linux

Bash:Ulangi hingga status keluar perintah sama dengan 0

Tetap Sederhana

until nc -z 127.0.0.1 25565
do
    echo ...
    sleep 1
done

Biarkan saja shell berurusan dengan status keluar secara implisit

Shell dapat menangani status keluar (direkam dalam $? ) dalam dua cara, eksplisit, dan implisit.

Eksplisit:status=$? , yang memungkinkan pemrosesan lebih lanjut.

Tersirat:

Untuk setiap pernyataan, dalam pikiran Anda , tambahkan kata "berhasil" ke perintah, lalu tambahkanif , until atau while konstruksi di sekitar mereka, sampai frasa tersebut masuk akal.

until nc berhasil ; do ...; done

-z opsi akan menghentikan nc dari membaca stdin, jadi < /dev/null tidak diperlukan pengalihan.


Anda dapat mencoba sesuatu seperti

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!"

Linux
  1. Kode keluar baris perintah bash didemistifikasi

  2. Tutorial Status Keluar Bash Shell dengan Contoh Praktis

  3. Menjaga Anda di Loop – Contoh Bash Untuk, Sementara, Sampai Loop

  1. perintah ekspor bash

  2. Cara mendapatkan status keluar satu lingkaran di bash

  3. error:perintah 'gcc' gagal dengan status keluar 1 di CentOS

  1. Keluar dari kode penugasan variabel ke substitusi perintah di Bash

  2. perintah 'x86_64-linux-gnu-gcc' gagal dengan status keluar 1

  3. Jalankan perintah bash pada pipa jenkins