Ho una variabile che contiene una stringa delimitata da spazi:
line="1 1.50 string"
Voglio dividere quella stringa con spazio come delimitatore e archiviare il risultato in un array, in modo che:
echo ${arr[0]}
echo ${arr[1]}
echo ${arr[2]}
uscite
1
1.50
string
Da qualche parte ho trovato una soluzione che non funziona:
arr=$(echo ${line})
Se dopo eseguo le istruzioni echo sopra riportate, ottengo:
1 1.50 string
[empty line]
[empty line]
Ho anche provato
IFS=" "
arr=$(echo ${line})
con lo stesso risultato. Qualcuno può aiutare, per favore?
set -f; arr=($string); set +f
sembra essere più veloce diread -r -a <<< $string
.