Bashスクリプトに含まれているループでコマンドがどのように機能しますか?

Bashスクリプトに含まれているループでコマンドがどのように機能しますか?

ビジボックスセッションでbashスクリプトを作成しています。

スクリプトは外部実行可能ファイルをデーモンとして順番に数回起動し、出力を監視する必要があります。

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

私の質問は、2つのループのうちどのループに対して引き続きコマンドが実行されるのかということです。

読み出しラインの初期または後続、トリガまで?

この問題を説明するために、例で書いた実際のコードに集中しないでください。実際のコードははるかに詳細です。

ベストアンサー1

ヘルプから続行:

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.

だからあなたがcontinueしたい、または入力したい次のcontinue 1繰り返しuntil、またはcontinue 2入る次の繰り返しwhile

おすすめ記事