Eu quero escrever um script para referenciar várias matrizes de outra matriz que contém os nomes de variáveis dessa matriz.
Aqui está o meu código até agora:
#!/bin/bash
array1=('array1string1' 'array1string2')
array2=('array2string1' 'array2string2')
array_names=('array1' 'array2')
for a in ${array_names[@]}
do
for b in ${a[@]}
do
echo $b
done
done
Gostaria que a saída digitalizasse as duas matrizes (a partir do loop for externo) e imprimisse as respectivas strings no loop for interno que chama eco. Minha saída atual está apenas me mostrando:
array1
array2
Eu ficaria grato por qualquer indicação sobre isso. Obrigado!
${a[@]}
para ${!a}
o que você deseja (eu acho).
${!a[@]}
fornece um comprimento da matriz a
.
${!a}
é apenas me dar os primeiros elementos.
for b in "${array1[@]}" "${array2[@]}"; do ...; done
?