linux 명령어 break
루프 빠져나가기.
$ break
Linux 명령어 break
반복문을 종료하는 명령어
1. 자세한 설명
break
명령어는 Linux의 셸 스크립트에서 사용되며 반복문(for
, while
, until
)을 즉시 종료하는 데 사용됩니다. 특정 조건이 충족되었을 때 반복문을 종료하고 반복문 뒤의 명령어를 실행하도록 합니다. 스크립트 작성 시 반복문 내에서 제어 흐름을 유연하게 관리하는 데 매우 유용합니다.
2. 사용법
- 기본 반복문 종료
break
반복문을 즉시 종료합니다. - 중첩 반복문에서 특정 반복 종료
break [레벨]
지정된 반복문 레벨을 종료합니다.
3. 자세하게 설명
break
명령어는 다음과 같은 특징을 가지고 있습니다:
- 단일 반복문 종료: 반복문 내에서 조건이 충족되었을 때 반복을 종료합니다.
- 중첩 반복문 제어:
break [레벨]
을 사용하여 특정 수준의 반복문을 종료할 수 있습니다. - 조건 기반 종료:
if
문과 함께 사용하여 특정 조건에서 반복을 종료합니다.
4. 자세한 명령어 사용법
다음은 break
명령어의 다양한 사용 예제입니다:
# 기본 반복문 종료 for i in {1..10}; do if [ $i -eq 5 ]; then break fi echo "Number: $i" done # 중첩 반복문에서 외부 반복 종료 for i in {1..3}; do for j in {1..3}; do if [ $j -eq 2 ]; then break 1 fi echo "i=$i, j=$j" done done # 조건 충족 시 반복 종료 counter=0 while [ $counter -lt 10 ]; do counter=$((counter + 1)) if [ $counter -eq 5 ]; then break fi echo "Counter: $counter" done # until 반복문에서 사용 counter=0 until [ $counter -ge 10 ]; do counter=$((counter + 1)) if [ $counter -eq 7 ]; then break fi echo "Value: $counter" done # 스크립트에서 반복 제어 #!/bin/bash for num in {1..20}; do if [ $((num % 7)) -eq 0 ]; then echo "첫 번째 7의 배수: $num" break fi done # 특정 문자열 발견 시 반복 종료 names=("Alice" "Bob" "Charlie" "Dave") for name in "${names[@]}"; do if [ "$name" == "Charlie" ]; then break fi echo "Processing: $name" done # 중첩 반복문에서 특정 레벨 종료 for x in {1..5}; do for y in {1..5}; do if [ $y -eq 3 ]; then break 2 fi echo "x=$x, y=$y" done done # 로그 파일 분석 중 특정 패턴 발견 시 종료 while read -r line; do if [[ $line == *"ERROR"* ]]; then echo "Error 발견: $line" break fi done < log.txt # 특정 조건에 따라 사용자 입력 반복 종료 while true; do read -p "숫자를 입력하세요 (0 입력 시 종료): " num if [ $num -eq 0 ]; then break fi echo "입력된 숫자: $num" done # 반복적인 작업 종료 for task in task1 task2 task3; do echo "Running $task" if [ "$task" == "task2" ]; then break fi done # 특정 디렉터리 내 파일 검색 중 종료 for file in /path/to/files/*; do if [[ $file == *"important.txt"* ]]; then echo "중요 파일 발견: $file" break fi done
위의 예제는 break
명령어를 사용하여 반복문 제어 흐름을 관리하는 다양한 방법을 보여줍니다.
No responses yet