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