강타 휴식 후 계속

강타 휴식 후 계속

2022-05-17 last update

10 minutes reading terminal bash loop
특정 조건이 충족될 때까지 명령을 여러 번 실행할 수 있도록 순환합니다.그러나, 때때로 순환의 흐름을 바꾸고, 순환을 중지하거나, 현재의 교체만 중지해야 할 수도 있습니다.Bash에서 breakcontinue 문장은 순환 실행을 제어할 수 있습니다.

Bash break 문

break 문장은 현재 순환을 중지하고 프로그램 제어를 순환 종료 후의 명령에 전달합니다.for, while, until 에서 종료
, 또는 select 순환.
sbreak 문장의 문법은 다음과 같은 형식을 채택한다.
break [n]
[n]은 선택할 수 있는 매개 변수로 반드시 1보다 크거나 같아야 한다.[n]을 제공하면 n번째 폐쇄 순환이 종료됩니다.break 1break에 해당한다.break문장을 어떻게 사용하는지 더 잘 이해하기 위해 아래의 예시를 살펴보자.아래 스크립트에서 while loop 실행
현재 교체 항목이 2과 같을 때 중단:
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!
. 매개변수 break10for을 입력하지 않으면 내부 닫힌 루프가 종료됩니다.외부 루프가 종료되지 않았습니다.
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!
외부 루프를 종료하려면 [n]을 사용하십시오.매개 변수 breakbreak 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 2 선언

break 문장은 현재 교체 폐쇄 순환체의 나머지 명령을 건너뛰고 프로그램 제어를 순환의 다음 교체에 전달한다.continue 문장의 문법은 다음과 같다.
continue [n]
continue 매개 변수는 선택할 수 있으며 1보다 크거나 같을 수 있다.continue을 주면 n번째 폐쇄 순환이 회복됩니다.[n][n]에 해당한다.다음 예에서 현재 교체 항목 continue 1 loopscontinue2 문장은 실행을 순환의 시작으로 되돌려주고 다음 교체를 계속합니다.
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!
이하 스크립트는 continue에서 1 사이의 숫자를 인쇄합니다. 이 숫자는 50으로 나누어집니다.만약 숫자가 9으로 나누어지지 않는다면, 9 문장은 is equal을 건너뜁니다
명령을 내리고 제어를 순환의 다음 교체에 전달합니다.
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와 같은 스크립트 언어에서는 반복 작업을 자동화하는 데 매우 유용합니다.continue 문은 현재 루프를 종료하는 데 사용됩니다.echo 문장은 순환의 현재 교체를 종료하고 다음 교체를 시작합니다.질문이나 피드백이 있으면 언제든지 댓글을 달아주세요.