SW/리눅스

Linux : Bash : break 와 continue 문법, 사용 방법, 예제, 명령어

얇은생각 2022. 6. 20. 07:30
반응형

루프를 사용하면 특정 조건이 충족될 때까지 하나 이상의 명령을 여러 번 실행할 수 있습니다. 그러나 때로는 루프의 흐름을 변경하고 루프를 종료하거나 현재 반복만 종료해야 할 수도 있습니다.

Bash에서 문 끊기 및 계속을 사용하면 루프 실행을 제어할 수 있습니다.

 

 

Linux : Bash : break 와 continue 문법, 사용 방법, 예제, 명령어

 

 

Bash 구분문

중단문은 현재 루프를 종료하고 종료된 루프 다음에 오는 명령으로 프로그램 제어를 전달합니다. 이 문장은 a에서 종료하거나, 때까지 또는 루프를 선택하는 데 사용됩니다. s 구분문의 구문은 다음과 같은 형식을 사용합니다.

break [n]

 

 

[n]은(는) 선택적 인수이며 1보다 크거나 같아야 합니다. [n]이 제공되면 n번째 둘러싸는 루프가 종료됩니다. 브레이크 1은 브레이크와 같습니다.

브레이크 문장의 사용 방법을 더 잘 이해하기 위해 다음 예를 살펴보도록 하겠습니다.

아래 스크립트에서 현재 반복 항목이 2가 되면 while 루프의 실행이 중단됩니다.

i=0

while [[ $i -lt 5 ]]
do
  echo "Number: $i"
  ((i++))
  if [[ $i -eq 2 ]]; then
    break
  fi
done

echo 'All Done!'

# Number: 0
# Number: 1
# All Done!

 

 

다음은 루프에 대해 중첩된 내부 구분문을 사용하는 예입니다.

[n] 인수가 주어지지 않은 경우, break는 가장 안쪽을 둘러싸는 루프를 종료합니다. 외부 루프는 종료되지 않습니다.

for i in {1..3}; do
  for j in {1..3}; do
    if [[ $j -eq 2 ]]; then
      break
    fi
    echo "j: $j"
  done
  echo "i: $i"
done

echo 'All Done!'

# j: 1
# i: 1
# j: 1
# i: 2
# j: 1
# i: 3
# All Done!

 

 

외부 루프를 종료하려면 브레이크 2를 사용하십시오. 인수 2는 두 번째 둘러싸는 루프를 종료하라는 중단 명령을 내립니다.

for i in {1..3}; do
  for j in {1..3}; do
    if [[ $j -eq 2 ]]; then
      break 2
    fi
    echo "j: $j"
  done
  echo "i: $i"
done

echo 'All Done!'

# j: 1
# All Done!

 

 

 

Bash continue 문

continue 문은 현재 반복에 대해 둘러싸는 루프 본문 내부의 나머지 명령을 건너뛰고 프로그램 제어를 다음 반복으로 전달합니다.

continue 문의 구문은 다음과 같습니다.

continue [n]

 

 

[n] 인수는 선택 사항이며 1보다 크거나 같을 수 있습니다. [n]이 주어지면 n번째를 둘러싸는 루프가 재개됩니다. 계속 1은 계속하는 것과 같습니다.

아래 예에서 현재 반복 항목이 2가 되면 계속 문은 루프의 처음으로 돌아가 다음 반복을 계속하게 합니다.

i=0

while [[ $i -lt 5 ]]; do
  ((i++))
  if [[ "$i" == '2' ]]; then
    continue
  fi
  echo "Number: $i"
done

echo 'All Done!'

# Number: 1
# Number: 3
# Number: 4
# Number: 5
# All Done!

 

 

다음 스크립트는 1부터 50까지의 숫자를 9로 나누어 출력합니다.

숫자가 9로 나누어지지 않는 경우, continue 문은 에코 명령을 건너뛰고 제어를 루프의 다음 반복으로 전달합니다.

for i in {1..50}; do
  if [[ $(( $i % 9 )) -ne 0 ]]; then
    continue
  fi
  echo "Divisible by 9: $i"
done

# Divisible by 9: 9
# Divisible by 9: 18
# Divisible by 9: 27
# Divisible by 9: 36
# Divisible by 9: 45

 

 

루프는 프로그래밍 언어의 기본 개념 중 하나입니다. Bash와 같은 스크립트 언어에서 루프는 반복 작업을 자동화하는 데 유용합니다.

구분문은 현재 루프를 종료하는 데 사용됩니다. 계속 문은 루프의 현재 반복을 종료하고 다음 반복을 시작하는 데 사용됩니다. 

반응형