2013-05-01 3 views
3

키 값에 하나 이상의 "."숫자가있는 연관 배열에 값을 할당하려고하는 간단한 쉘 스크립트가 있습니다. 문자를 그 값으로 사용합니다.임베디드 기간이있는 연관 배열 키 할당 오류

#!/bin/bash 

X="my.key" 
Y="my.val" 

ARRAY[$X]=$Y 

다음과 같은 오류 메시지가 나타납니다. my.key : 구문 오류 : 잘못된 산술 연산자 (오류 토큰은 ".key"임)

bash가 내 키를 부동 소수점 값처럼 처리하지 않게하려면 어떻게해야합니까?

미리 감사드립니다.

답변

1

bash 4.x에서 연관 배열은 3.x 이전 버전과의 하위 호환성을 위해 기본적으로 설정되어 있지 않습니다 (기본적으로 배열 색인에서 맨손으로 사용할 수 있으며 변수 참조로 자동 처리됩니다) .

declare -A arrayname 

또한, 그것은 간주 나쁜 스타일을 모두 대문자의 이름 스크립트 지역 변수 : 사용이를 대체하기 전에 연관 배열은 명시 적으로 선언해야합니다. 대문자는 대개 환경 변수를 나타냅니다.

+0

고마워요! 그것은 작동합니다! –