루프를 사용하면 특정 조건이 충족될 때까지 하나 이상의 명령을 여러 번 실행할 수 있습니다. 그러나 때로는 루프의 흐름을 변경하고 루프를 종료하거나 현재 반복만 종료해야 할 수도 있습니다.
Bash에서 문 끊기 및 계속을 사용하면 루프 실행을 제어할 수 있습니다.
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와 같은 스크립트 언어에서 루프는 반복 작업을 자동화하는 데 유용합니다.
구분문은 현재 루프를 종료하는 데 사용됩니다. 계속 문은 루프의 현재 반복을 종료하고 다음 반복을 시작하는 데 사용됩니다.
'SW > 리눅스' 카테고리의 다른 글
CentOS 8 : VNC 설치 구성 방법, 예제, 명령어 (0) | 2022.06.22 |
---|---|
Linux : Bash : Select : Make Menus : 사용 방법, 예제, 명령어 (0) | 2022.06.21 |
Linux : CentOS 8 : Nginx 서버 블록 설정 방법, 예제, 명령어 (0) | 2022.06.19 |
Linux : Pidof 명령어, 예제, 사용 방법 (0) | 2022.06.18 |
Linux : CentOS 8 : Ruby 설치 방법, 예제, 명령어 (0) | 2022.06.17 |