웹사이트 검색

쉘 스크립트에서 Break 및 Continue 문을 사용하는 방법


이 글에서는 bash 스크립트에서 breakcontinue를 사용하는 방법을 살펴보겠습니다. Bash에는 세 가지 주요 루프 구성(for, while, until)이 있습니다. Breakcontinue 문은 bash에 내장되어 있으며 루프 흐름을 변경하는 데 사용됩니다. 이러한 중단 및 계속 개념은 Python과 같은 널리 사용되는 프로그래밍 언어에서 사용할 수 있습니다.

type -a break continue

Break 문으로 루프를 종료합니다.

break 문은 루프를 종료하고 제어는 루프의 다음 문으로 전달됩니다. help 명령을 실행하면 break 문에 대한 정보를 얻을 수 있습니다.

help break

break의 기본 구문입니다.

break [n]

n is optional

아래 예를 살펴보십시오. 이는 2의 증분 단계에서 1부터 20까지의 값 범위를 반복하는 간단한 for 루프입니다. 조건문은 표현식을 평가하고 true($val=9)이면 다음을 수행합니다. break 문을 실행하고 나머지 반복을 건너뛰고 루프가 종료됩니다.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
     break
  else
  echo "printing ${val}"
fi
done

continue 문으로 반복 건너뛰기

루프를 완전히 종료하고 싶지 않지만 특정 조건이 충족될 때 코드 블록을 건너뛰고 싶다면 어떻게 해야 할까요? 이는 continue 문을 사용하여 수행할 수 있습니다. continue 문은 특정 조건이 충족되면 코드 블록의 실행을 건너뛰고 다음 반복을 위해 제어가 루프 문으로 다시 전달됩니다.

도움말에 액세스합니다.

help continue

아래 예를 살펴보십시오. 이는 break 문을 시연하는 데 사용한 것과 동일한 예입니다. 이제 Val이 9로 평가되면 continue 문은 나머지 코드 블록을 모두 건너뛰고 다음 반복을 위해 for 루프에 제어를 전달합니다.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      continue
  fi
  echo "printing ${val}"
done

Python을 알고 있다면 breakcontinue 동작은 Python에서도 동일합니다. 그러나 Python은 pass라는 루프 제어 문을 하나 더 제공합니다.

Passnull 문과 같으며 통역사가 이를 읽기는 하지만 어떤 작업도 수행하지 않습니다. 단순히 아무런 작업도 수행되지 않습니다. Bash는 유사한 명령문을 제공하지 않지만 true 키워드나 콜론(:)을 사용하여 이 동작을 에뮬레이션할 수 있습니다. true와 colon은 모두 쉘에 내장되어 있으며 어떤 작업도 수행하지 않습니다.

type -a : true

아래 예를 살펴보십시오. 조건부 문이 true($val=9)로 평가되면 true 문은 아무 작업도 수행하지 않고 루프가 계속됩니다.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      true
  fi
  echo "printing ${val}"
done

이것이 바로 이 기사입니다. 우리는 귀하의 귀중한 피드백과 조언을 듣고 싶습니다.