Eu tenho uma variável que contém uma seqüência de caracteres delimitada por espaço:
line="1 1.50 string"
Quero dividir essa seqüência de caracteres com espaço como delimitador e armazenar o resultado em uma matriz, para que o seguinte:
echo ${arr[0]}
echo ${arr[1]}
echo ${arr[2]}
saídas
1
1.50
string
Em algum lugar, encontrei uma solução que não funciona:
arr=$(echo ${line})
Se eu executar as instruções de eco acima depois disso, recebo:
1 1.50 string
[empty line]
[empty line]
Eu também tentei
IFS=" "
arr=$(echo ${line})
com o mesmo resultado. Alguém pode ajudar por favor?
set -f; arr=($string); set +f
parece ser mais rápido queread -r -a <<< $string
.