리눅스 셸 스크립트: Until 문을 통한 조건 반복 처리 방법

리눅스 셸 스크립트: Until 문을 통한 조건 반복 처리 방법

리눅스 셸 스크립트에서 ‘until’ 문은 조건이 거짓인 동안 명령을 반복적으로 실행하는 데 사용됩니다. 이 글에서는 ‘until’ 문의 기본 구조와 사용법에 대해 살펴보겠습니다.

1. Until 문의 기본 구조

until 문은 다음과 같은 기본 구조를 가집니다.

until [ 조건 ]
do
    명령
done

여기서 ‘조건’이 거짓(false)인 동안 ‘명령’이 반복적으로 실행됩니다. 조건이 참이 되면 반복이 종료됩니다.

2. 조건을 이용한 반복

‘until’ 문은 특정 조건이 참이 될 때까지 반복적으로 작업을 수행하는 데 유용합니다.

count=0
until [ $count -eq 10 ]
do
    echo "Count: $count"
    count=$((count + 1))
done

이 예제에서는 ‘count’ 변수가 10이 될 때까지 숫자를 증가시키며 반복적으로 출력합니다.

3. 파일 읽기

‘until’ 문을 사용하여 파일의 내용을 줄 단위로 읽을 수도 있습니다.

until ! read line
do
    echo $line
done < file.txt

이 스크립트는 ‘file.txt’ 파일의 각 줄을 읽어서 출력합니다. 파일의 끝에 도달하면 반복이 종료됩니다.

4. 무한 루프

‘until’ 문은 무한 루프 형태로도 사용될 수 있으며, 특정 조건에서 반복을 종료할 수 있습니다.

until false
do
    # 명령
    # 루프 탈출 조건
done

이 예제에서는 항상 ‘false’ 조건으로 반복되며, 특정 조건에서 ‘break’ 명령을 사용하여 루프를 탈출합니다.

5. 사용 예제

1) 사용자 입력 처리

until_1.sh 스크립트 예제

#!/bin/bash

input=""
until [ "$input" = "quit" ]
do
    echo "입력을 계속하려면 아무 문자를 입력하고, 종료하려면 'quit'를 입력하세요:"
    read input
    echo "입력된 값: $input"
done

이 스크립트는 사용자가 ‘quit’를 입력할 때까지 계속해서 입력을 받고 출력합니다.

리눅스 셸 스크립트 Until 문 사용하여 사용자 입력 처리 예시

2) 디렉토리 내 파일 목록 출력

until_2.sh 스크립트 예제

#!/bin/bash

# 디렉토리 내 파일 리스트를 파일에 저장
ls /home/user1 > file_list.txt

# 파일 리스트를 읽어들이는 until 루프
until ! read file
do
    echo "File: $file"
done < file_list.txt

# 사용 후 파일 리스트 삭제
rm file_list.txt

이 스크립트는 주어진 디렉토리의 파일 목록을 파일에 저장한 후, ‘until’ 문을 사용하여 파일의 각 줄을 읽어서 파일명을 출력합니다.

리눅스 셸 스크립트 Until 문 사용하여 디렉토리 내 파일 목록 출력 예시

관련 이전 게시글

위로 스크롤