GNU/Linux >> Znalost Linux >  >> Linux

Ve skriptu Bash Jak funguje příkaz Continue s vestavěnými smyčkami?

Píšu bash skript v relaci busybox.

Skript musí několikrát za sebou spustit externí spustitelný soubor v démonizované podobě a poté monitorovat výstup.

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

Moje otázka zní, proti které ze dvou smyček bude příkaz continue proveden?

Počáteční řádek při čtení nebo následující, dokud se nespustí?

Nezaměřujte se prosím na skutečný kód, který jsem dal dohromady jako příklad, abych se pokusil vysvětlit tuto otázku, skutečný kód je mnohem podrobnější.

Přijatá odpověď:

Z „nápověda pokračovat“:

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.

Takže chcete continue nebo continue 1 pro přechod na další iteraci until nebo continue 2 pro přechod na další iteraci while .


Linux
  1. Jak přehrát terminálové relace zaznamenané pomocí příkazu skriptu Linux

  2. Jak Sticky Bit funguje?

  3. Jak zajistit, aby jakýkoli program fungoval s příkazem Tee?

  1. Příkaz Rm ve skriptu Bash nefunguje s proměnnou?

  2. Jak funguje příkaz Exit na Unixovém terminálu?

  3. Jak funguje Tee Command?

  1. Zkontrolujte, jak dlouho trvá spuštění Bash skriptu s Time Command

  2. Jak funguje příkaz 'ls' v Linuxu/Unixu?

  3. '&&' vs. '&' s příkazem 'test' v Bash