1

各ステータス チェック if ステートメントの exit ステートメントは、while ループを中断せず、実際にスクリプトを終了します。ループを中断してその $STATUS コードで終了するためにできることはありますか?

編集: コードを更新しましたが、まだ機能していません。ステータス チェック if ステートメントは正常にループを中断しますが、$EXIT_STATUS を評価しようとすると、スコープと関係がある可能性が高く、常に null になります。ここで何が欠けていますか?

  if [ $RESTART -le $STEP ]; then
  . tell_step

  while read XML_INPUT; do

    XML_GDG=`get_full_name $GDG_NAME P`

    cp $XML_INPUT $XML_GDG


    STATUS=$?
    EXIT_STATUS=$STATUS
    if [ $STATUS -ne 0 ]; then
      break
    fi

    add_one_gen $XML_GDG

    STATUS=$?
    EXIT_STATUS=$STATUS
    if [ $STATUS -ne 0 ]; then
      break
    fi

  done < $XML_STAGE_LIST

  echo $EXIT_STATUS
  if [ $EXIT_STATUS -ne 0 ]; then
    exit $EXIT_STATUS
  fi

fi
4

4 に答える 4