본문 바로가기
카테고리 없음

Bash 배열 사용법과 10가지 유용한 예제

by middle-excel 2025. 4. 4.
반응형
Bash 배열 사용법과 유용한 예제

Bash 스크립트에서 배열은 데이터를 효율적으로 관리하고 처리하는 데 매우 유용합니다. 이 글에서는 Bash 배열의 기본적인 사용법과 함께, 실생활에서 활용할 수 있는 다양한 예제를 소개합니다. 배열을 잘 활용하면 스크립트의 가독성과 유지보수성을 높일 수 있습니다.

Bash 배열의 기본 사용법

Bash에서 배열은 여러 개의 값을 하나의 변수에 저장할 수 있는 자료구조입니다. 배열을 선언하는 방법은 다음과 같습니다:

my_array=(value1 value2 value3)

배열의 각 요소에 접근하려면 인덱스를 사용합니다. 인덱스는 0부터 시작합니다:

echo ${my_array[0]}

모든 요소를 출력하려면 다음과 같이 할 수 있습니다:

echo ${my_array[@]}

유용한 Bash 배열 예제

이제 몇 가지 실용적인 Bash 배열 사용 예제를 살펴보겠습니다. 아래의 표는 각 예제와 그 설명을 정리한 것입니다.

예제 설명
my_array=(1 2 3 4 5) 정수 배열 생성
echo ${my_array[2]} 인덱스 2의 값 출력 (3)
my_array+=("6") 배열에 새로운 값 추가
for i in ${my_array[@]}; do echo $i; done 배열의 모든 요소를 반복 출력
unset my_array[1] 인덱스 1의 요소 삭제

사례 1: 파일 목록 관리

Bash 배열은 파일 목록을 관리하는 데 매우 유용합니다. 예를 들어, 특정 디렉토리의 모든 파일을 배열에 저장하고, 이를 기반으로 작업할 수 있습니다.


#!/bin/bash

# 디렉토리의 모든 파일을 배열에 저장
files=(*)

# 배열의 모든 파일 출력
for file in "${files[@]}"; do
    echo "파일: $file"
done

이 스크립트는 현재 디렉토리의 모든 파일을 배열에 저장하고, 각 파일의 이름을 출력합니다. 배열을 사용함으로써, 파일 목록을 쉽게 관리하고 추가적인 처리를 할 수 있습니다.

사례 2: 사용자 입력 처리

사용자로부터 여러 개의 값을 입력받아 배열에 저장하는 방법도 있습니다. 다음은 사용자로부터 숫자를 입력받아 배열에 저장한 후, 그 합계를 계산하는 예제입니다.


#!/bin/bash

# 사용자로부터 숫자 입력 받기
echo "숫자를 입력하세요 (종료하려면 '끝' 입력):"
numbers=()

while true; do
    read input
    if [[ $input == "끝" ]]; then
        break
    fi
    numbers+=("$input")
done

# 배열의 합계 계산
sum=0
for num in "${numbers[@]}"; do
    sum=$((sum + num))
done

echo "합계: $sum"

이 스크립트는 사용자가 입력한 숫자를 배열에 저장하고, '끝'을 입력하면 입력을 종료한 후, 배열에 저장된 숫자의 합계를 계산하여 출력합니다.

사례 3: 문자열 처리

문자열을 배열로 변환하여 각 단어를 처리하는 방법도 있습니다. 다음은 문장을 입력받아 단어별로 배열에 저장한 후, 각 단어의 길이를 출력하는 예제입니다.


#!/bin/bash

# 사용자로부터 문장 입력 받기
echo "문장을 입력하세요:"
read sentence

# 문자열을 공백 기준으로 배열로 변환
words=($sentence)

# 각 단어의 길이 출력
for word in "${words[@]}"; do
    echo "$word의 길이: ${#word}"
done

이 스크립트는 사용자가 입력한 문장을 공백을 기준으로 분할하여 각 단어를 배열에 저장하고, 각 단어의 길이를 출력합니다. 이를 통해 문자열 처리를 효율적으로 수행할 수 있습니다.

실용적인 팁

팁 1: 배열 초기화

배열을 사용할 때는 초기화를 잊지 마세요. 배열을 선언한 후 요소를 추가하기 전에 항상 초기화하는 것이 좋습니다. 예를 들어, my_array=()를 사용하여 빈 배열로 초기화하면, 이후에 추가할 요소를 명확하게 관리할 수 있습니다.

팁 2: 배열 크기 확인

배열의 크기를 확인하는 것은 유용합니다. ${#my_array[@]}를 사용하면 배열의 크기를 쉽게 확인할 수 있습니다. 이를 통해 반복문을 설정할 때 유용하게 활용할 수 있습니다.

팁 3: 배열 정렬하기

배열을 정렬하고 싶다면, printf "%s\n" "${my_array[@]}" | sort를 사용하여 정렬할 수 있습니다. 정렬된 결과를 다른 배열에 저장하거나 직접 출력할 수 있습니다.

팁 4: 배열 요소의 삭제

배열에서 특정 요소를 삭제할 때는 unset my_array[index]를 사용합니다. 이 방법은 메모리 관리를 효율적으로 하여, 필요 없는 요소를 제거할 수 있습니다.

팁 5: 연관 배열 사용하기

배열을 더욱 효율적으로 사용하고 싶다면, 연관 배열을 고려해 보세요. Bash 4.0 이상에서는 declare -A my_assoc_array를 사용하여 키-값 쌍을 저장할 수 있습니다. 이를 통해 데이터 구조를 보다 체계적으로 관리할 수 있습니다.

요약 및 실천 팁


Bash 배열은 데이터를 효과적으로 관리하고, 다양한 작업을 수행하는 데 큰 도움이 됩니다. 위에서 소개한 여러 예제와 팁을 바탕으로 배열을 활용하여 스크립트를 작성해 보세요. 배열을 사용하면 코드의 가독성이 높아지고, 유지보수도 쉬워집니다.

특히, 파일 목록 관리, 사용자 입력 처리, 문자열 분할과 같은 실용적인 사례를 통해 배열의 장점을 경험해 보시기 바랍니다. 앞으로 Bash 스크립트를 작성할 때 배열을 적극적으로 활용하여 효율성을 극대화해 보세요!

반응형