Criando uma matriz no Bash com entradas entre aspas da saída do comando
Estou tendo problemas para formar uma matriz bash a partir de uma saída padrão. Eu reduzi esse exemplo mínimo:
~$ a=($(echo '1 2 3 "foo bar"'))
~$ echo ${a[0]}
1
~$ echo ${a[1]}
2
~$ echo ${a[2]}
3
~$ echo ${a[3]}
"foo
~$ echo ${a[4]}
bar"
Eu acredito que o que está acontecendo é que"foo
ebar"
são considerados itens separados na saída padrão, mas o objetivo seria consolidar esses itens em um para a matriz.
Obviamente, eu poderia escrever um pequeno loop para consolidar esses termos em um, mas estou me perguntando se há uma solução mais elegante?
EDITAR: O que se passa no lugar deecho '1 2 3 "foo bar"'
no meu código é bastante complicado, mas o ponto é queEu preciso formar uma matriz de alguma saída padrão desconhecida deste formulário.