리눅스 bash 스크립트에서 연관 배열(associative array) 사용하기 리눅스 bash script

통상적인 배열(array)에 대한 내용은 이전 게시물을 참고하자. 여기로

리눅스 bash 스크립트에서 연관 배열(associative array)을 사용하는 방법이다. 연관 배열은 인덱스를 수자로 사용하지 않고 문자열을 사용할 수 있다. 변수를 연관 배열로 사용하려면 해당 변수가 연관 배열임을 미리 선언해 주어야 한다. declare 명령으로 선언하면서 -A 옵션으로 연관 배열임을 지정해야 한다.

# 변수 arr_test를 연관 배열로 선언
declare -A arr_test

이제 인덱스를 문자열로 사용할 수 있다.  아래의 예시를 보자.

# 배열 값 할당
arr_test[abc]=0
arr_test[def]=1


# 배열에 저장된 내용 출력
echo ${arr_test[abc]}
0
echo ${arr_test[def]}
1

key-value 형태의 자료를 처리하고 싶을 경우 매우 요긴하게 활용할 수 있다. 인덱스가 문자열임을 이용해서 다차원 배열(multi-dimensional array)처럼 사용할 수도 있겠다. 아래의 예시를 보자. 인덱스를 2차원 배열처럼 사용할 수 있도록 설정한 경우이다.

declare -A x

x[0,0]=1
x[0,1]=2
x[1,0]=3
x[1,1]=4


echo ${x[0,0]}
1
echo ${x[1,0]}
3

변수를 인덱스로 지정할 경우에는 아래와 같이 하면 되겠다.

idx="0,0"
x[$idx]=10

echo "${x[0,0]}
10
echo "${x[$idx]}

10



핑백

덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

9921327
5348
1764965

ad_widget_2