Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

Bash For 루프 [예제 포함]

for 루프는 여러 파일, 레코드 또는 기타 값에 대한 작업을 반복하기 위해 Bash 스크립트를 작성할 때 편리한 도구입니다.

for 문은 값 목록을 반복하여 모든 항목이 처리될 때까지 각 값에 대해 작업을 수행합니다.

사용 사례에는 디렉토리의 파일, 텍스트 파일의 행 또는 데이터베이스 쿼리의 출력에 대한 루핑이 포함됩니다.

Bash For 루프 구문

for VARIABLE in LIST
do
    COMMANDS
done

어디에:

  • VARIABLE은 COMMANDS에 의해 처리될 때 LIST의 각 항목에 할당될 변수 이름입니다.
  • LIST는 여러 형식을 취할 수 있습니다. 예시는 아래 참조

Bash For 루프의 예

루프는 미리 정의된 목록이나 다른 스크립트 또는 명령줄 응용 프로그램의 출력에서 ​​생성된 목록을 반복할 수 있습니다.

for를 사용하여 숫자 범위 반복 루프

{START…END}을 사용하여 범위의 각 숫자 처리(1씩 증가) :

for num in {0..10}
do 
    echo "I'm counting to 10 and I'm up to $num"
done

참고:

  • 목록의 각 항목에는 변수 이름 num.이 지정됩니다.
    • 나중에 스크립트에서 $num을 사용하여 액세스합니다.
    • 숫자 범위에 대한 반복은 Bash 버전 3 이상에서만 지원됩니다.
  • 반복할 숫자는 중괄호의 시작 부분에 있는 숫자로 시작하여 끝에 있는 숫자까지 1씩 증가합니다.

스테핑 숫자를 초과하고 3씩 증가하여 3의 배수만 처리되도록 {START…END…INCREMENT} 사용 :

for num in {0..15..3}
do 
    echo "$num is a multiple of 3!"
done

참고:

  • 중괄호 안의 표현식에 세 번째 숫자가 추가됩니다.
    • 0에서 15까지 3씩 증가하는 숫자에 대해 작동합니다.
  • 사용자 지정 증분으로 범위를 반복하는 것은 Bash 버전 4 이상에서만 지원됩니다.

for를 사용하여 문자열 목록 반복 루프

문자열 값 목록을 반복할 수도 있습니다.

for car in Ford, Holden, Honda, BMW, Ferrari
do
    echo "I wish I could drive a $car"
done

for를 사용하여 배열 반복 루프

배열의 값을 반복하기 전에 배열을 변수로 선언할 수 있습니다.

FRUITS=('Apple' 'Pear' 'Orange' 'Strawberry')

for fruit in "${FRUITS[@]}"
do
    echo "$fruit is delicious"
done

for를 사용하여 파일(및 기타 출력) 반복 루프

다른 명령줄 명령의 출력을 반복할 수도 있습니다.

for f in *
do
    echo "Filename is $f"
done

중단

중단 문은 주어진 지점에서 루프를 종료합니다:

for num in {0..15..3}
do
    echo "$num is a multiple of 3!"
    if [[ "$num" == '9' ]]
    then
        break
    fi
done
echo 'Finished counting at 9!'

계속

계속 문은 루프의 현재 반복에서 코드 실행을 중지하고(전체 건너뛰기) 계속 다음 반복:

for num in {0..15..3}
do
    if [[ "$num" == '6' ]]
    then
        continue
    fi
    echo "$num is a multiple of 3!"
done
echo 'The number 6 was skipped!'

결론

스크립트를 작성하는 동안 루프를 사용하면 시간을 절약하고 수동 데이터 입력 없이 파일 및 데이터 처리를 자동화할 수 있는 유연한 스크립트를 작성할 수 있습니다.

더 많은 Bash 스크립팅 팁을 보려면 다른 기사를 확인하십시오!