Ho una variabile che contiene una stringa spazio delimitato:Lettura di una stringa delimitata in una matrice in Bash
line="1 1.50 string"
voglio dividere la stringa con lo spazio come delimitatore e memorizzare il risultato in un array, cosicché i seguenti:
echo ${arr[0]}
echo ${arr[1]}
echo ${arr[2]}
uscite
1
1.50
string
qualche parte ho trovato una soluzione che non fa lavoro:
arr=$(echo ${line})
Se corro le istruzioni echo suddette dopo questo, 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?
+1. In questo caso è cruciale lasciare la variabile non quotata. –
e per fare un controllo di integrità del tuo nuovo bellissimo array: 'for i in $ {arr [@]}; fai eco $ i; done' – Banjer
o semplicemente 'echo $ {arr [@]}' – Banjer