1
, 나는 느낌표 구문을 사용하여 배열의 키에 액세스 할 수 없습니다입니다 "키 : 0"액세스 bash는 배열 키 (Mac)를 어떤 이유
무엇 오전 내가 여기서 잘못하고있는거야?
또한 값을 추가하고 싶습니다.
그래서 우리의 풋은 다음과 같습니다키 : FR, 값 : 프레드릭
, 나는 느낌표 구문을 사용하여 배열의 키에 액세스 할 수 없습니다입니다 "키 : 0"액세스 bash는 배열 키 (Mac)를 어떤 이유
무엇 오전 내가 여기서 잘못하고있는거야?
또한 값을 추가하고 싶습니다.
그래서 우리의 풋은 다음과 같습니다키 : FR, 값 : 프레드릭
이 문제는 declare -a
입니다.
설명서 페이지에 따라 declare -A
이어야합니다.
declare [-aAfFgilrtux] [-p] [name[=value] ...]
...
-a Each name is an indexed array variable (see Arrays above).
-A Each name is an associative array variable (see Arrays above).
대신이 시도 : 내가 처음에 뭘하려
declare -A sites
sites=(["fr"]="frederick" ["an"]="annapolis")
for i in "${!sites[@]}"
do
echo "key: $i, value: ${sites[$i]}"
done
했다. 그러나 내가 게시 한 스크립트를 실행하면 다음과 같이 출력됩니다. 3 행 : 선언 : -A : 잘못된 옵션 선언 : 사용법 : [-afFirtx] [-p] [이름 [= 값] ...] 키 선언 : 0, value : annapolis – jessh
이것은 도움이 될 수도 있습니다 : bash --version GNU bash, 버전 3.2.48 (1) – jessh
연관 배열은 bash> = 4.0을 필요로합니다. http://tiswww.case.edu/php/chet/bash/NEWS를 참조하십시오. 그리고 bash 3.2의 man 페이지가 연관 배열에 대해 아무 말도하지 않는다는 사실. ;-) – Mikel