GNU/Linux >> Linux Esercitazione >  >> Linux

In uno script Bash Come funziona il comando Continua con i loop incorporati?

Sto scrivendo uno script bash in una sessione busybox.

Lo script deve avviare un eseguibile esterno numerose volte in sequenza in forma demonizzata, quindi monitorare l'output.

while read LINE; do
  VARIABLEPARAMETER=`echo "$LINE" | sed -e 's/appropriateregex(s)//'`
  externalprog --daemonize -acton $VARIABLEPARAMETER -o /tmp/outputfile.txt
  until [ "TRIGGERED" = "1" ]; do
    WATCHOUTPUT=`tail -n30 /tmp/outputfile.txt`
    TRIGGERED=`echo "$WATCHOUTPUT" | grep "keyword(s)"` 
    if [ -z "$TRIGGERED" ]; then
      PROGID=`pgrep externalprog`
      kill -2 "$PROGID"
      continue
    fi
  done
done < /tmp/sourcedata.txt

La mia domanda è su quale dei due loop verrà eseguito il comando continue?

La riga iniziale durante la lettura, o la successiva, fino all'attivazione?

Per favore, non concentrarti sul codice effettivo che ho messo insieme come esempio per cercare di spiegare questa domanda, il codice effettivo è molto più dettagliato.

Risposta accettata:

Da “aiuto continua”:

continue: continue [n]
    Resume for, while, or until loops.

    Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop.
    If N is specified, resumes the Nth enclosing loop.

    Exit Status:
    The exit status is 0 unless N is not greater than or equal to 1.

Quindi vuoi continue o continue 1 per passare all'iterazione successiva di until o continue 2 per passare all'iterazione successiva di while .


Linux
  1. Come riprodurre le sessioni del terminale registrate con il comando di script Linux

  2. Come funziona il bit appiccicoso?

  3. Lo scopo di .bashrc e come funziona?

  4. Come far funzionare qualsiasi programma con il comando Tee?

  5. Come funziona il comando Exit su un terminale Unix?

Come scrivere uno script Bash con esempi

Come utilizzare il comando di lettura Bash

Bash Scripting Part2 – Cicli For e While con esempi

Come trovare file con dozzine di criteri con il comando Trova Bash

Come funziona l'interfaccia di loopback

Come funziona il pattern <( cmd ) in bash?