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
.
Jak aktivovat konkrétní kartu Chrome přes Bash?
Použít Sed k přidání znaku na N'-tou pozici shodného řetězce?