É aqui que você deseja indireto de variáveis usando o operador ${!var}
:
bash-4.4$ numbers=(53 8 12 9 784 69)
bash-4.4$ number=numbers[3]
bash-4.4$ echo "${!number}"
9
O zsh
equivalente seria:
numbers=(53 8 12 9 784 69)
number=numbers[4]
echo ${(P)number}
( zsh
arrays indices começam em 1 como na maioria dos outros shells e ferramentas shell, então você pode usar numbers[4]
para obter o 4º número).
Se você quisesse atribuir o valor do 4º elemento da matriz a $number
, você executaria number=$numbers[4]
em zsh
ou number=${numbers[3]}
em ksh
(e bash
que acabou de copiar ksh
arrays).