
강타 휴식 후 계속
특정 조건이 충족될 때까지 명령을 여러 번 실행할 수 있도록 순환합니다.그러나, 때때로 순환의 흐름을 바꾸고, 순환을 중지하거나, 현재의 교체만 중지해야 할 수도 있습니다.Bash에서
, 또는
s
현재 교체 항목이
명령을 내리고 제어를 순환의 다음 교체에 전달합니다.
break
과 continue
문장은 순환 실행을 제어할 수 있습니다.Bash break 문
break
문장은 현재 순환을 중지하고 프로그램 제어를 순환 종료 후의 명령에 전달합니다.for
, while
, until
에서 종료, 또는
select
순환.s
break
문장의 문법은 다음과 같은 형식을 채택한다. break [n]
[n]
은 선택할 수 있는 매개 변수로 반드시 1보다 크거나 같아야 한다.[n]
을 제공하면 n번째 폐쇄 순환이 종료됩니다.break 1
은 break
에 해당한다.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!
. 매개변수 break
10for
을 입력하지 않으면 내부 닫힌 루프가 종료됩니다.외부 루프가 종료되지 않았습니다. 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]
을 사용하십시오.매개 변수 break
은 break 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
loops이continue
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!
이하 스크립트는 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
문장은 순환의 현재 교체를 종료하고 다음 교체를 시작합니다.질문이나 피드백이 있으면 언제든지 댓글을 달아주세요.