연관 배열 사용하기

Bash:
연관 배열 사용하기

사용 방법:

우선, Bash에서 연관 배열을 선언하세요:

declare -A my_array

그 다음, 문자열을 키로 사용하여 값으로 채우기 시작할 수 있습니다:

my_array["name"]="Linux Journal"
my_array["topic"]="Programming"

요소에 접근하려면 키를 사용하세요:

echo ${my_array["name"]}  # 출력: Linux Journal

키와 값에 대해 반복하는 것 또한 간단합니다:

for key in "${!my_array[@]}"; do
    echo "$key: ${my_array[$key]}"
done

샘플 출력은 다음과 같이 보일 수 있습니다:

name: Linux Journal
topic: Programming

요소를 추가하거나 수정하려면, 초기 채우기와 유사하게 키에 값 할당하기만 하면 됩니다:

my_array["readers"]="You"

그리고 요소를 제거하려면 unset을 사용하세요:

unset my_array["topic"]

심층 분석

연관 배열은 Bash 버전 4.0에서 도입되어 상대적으로 최근에 추가된 언어 기능입니다. 도입 전에는 비정수 인덱스 배열을 다루는 것이 번거롭고, 종종 awksed와 같은 외부 도구나 우회 방법이 필요했습니다.

내부적으로, Bash는 해시 테이블을 사용하여 연관 배열을 구현합니다. 이 구현은 키 조회를 효율적으로 할 수 있게 해주며, 배열 크기와 관계없이 비교적 일정하게 유지되는데, 이는 스크립트 실행 성능에서 중요한 기능입니다.

Bash의 연관 배열은 셸 스크립팅에 많은 힘과 유연성을 가져다주지만, Python이나 JavaScript와 같은 고급 언어의 배열에 비해 다루기가 다소 불편한 등의 제약이 있습니다. 복잡한 데이터 조작 작업의 경우, 작업에 더 적합한 외부 도구나 언어를 고려하는 것이 여전히 가치가 있을 수 있습니다.

하지만, 많은 전형적인 스크립팅 작업의 경우, 연관 배열은 Bash 프로그래머의 도구 모음에 소중한 도구를 제공하여, 숫자 인덱스 대신 의미 있는 문자열 키를 사용함으로써 보다 읽기 쉽고 유지관리가 용이한 스크립트를 가능하게 합니다.