주 사이트에서 여러 대행사로 파일 복사를 단순화하기 위해 Bash 스크립트를 작성하고 있습니다. 오류 여기Bash : 연관 배열 이름으로 변수 사용
#!/bin/bash
declare -A GROUP1
declare -A GROUP2
declare -A GROUP3
declare -A ARRAY
GROUP1["SITE1"]="x.x.x.x"
GROUP1["SITE2"]="y.y.y.y"
GROUP1["SITE3"]="z.z.z.z"
GROUP2["SITE1"]="1.1.1.1"
GROUP2["SITE2"]="2.2.2.2"
GROUP2["SITE3"]="3.3.3.3"
GROUP2["SITE1"]="a.a.a.a"
GROUP2["SITE2"]="b.b.b.b"
GROUP2["SITE3"]="c.c.c.c"
read -p "Choose a group of sites : " group
case $group in
1) DEST="GROUP1" ;;
2) DEST="GROUP2" ;;
3) DEST="GROUP3" ;;
esac
eval "ARRAY=(\${$DEST[@]})"
for elem in "${!ARRAY[@]}"
do
echo $elem
echo ${ARRAY[$elem]}
done
됩니다 :
./test: line28: TAB : 3.3.3.3 : must use subscript when assigning associative array
./test: line28: TAB : 2.2.2.2 : must use subscript when assigning associative array
./test: line28: TAB : 1.1.1.1 : must use subscript when assigning associative array
무엇인가이 스크립트에서 , 내가 연관 배열 이름으로 변수를 사용하는 것을 시도하고 있지만 오류가 optain, 여기에 코드입니다 나는 가능한 것을 시도하고 있는가? 미리 감사드립니다.
답장을 보내 주셔서 감사합니다. 사용자 변수에 대문자를 사용하지 않았다는 것을 기억하지 못했습니다. 나는 내일 당신의 제안을 시도 할 것입니다. – Jaymzwise