Non stai creando un array a meno che non lo circondi con (
)
:
dirlist=(`ls ${prefix}*.text`)
Dichiara un array di file:
arr=(~/myDir/*)
Scorri l'array usando un contatore:
for ((i=0; i < ${#arr[@]}; i++)); do
# [do something to each element of array]
echo "${arr[$i]}"
done
Questo:
dirlist=`ls ${prefix}*.text`
non crea un array. Crea solo una stringa con nomi di file separati da spazi.
Devi fare
dirlist=(`ls ${prefix}*.text`)
per renderlo un array.
Poi $dirlist
farà riferimento solo al primo elemento, quindi devi usare
${dirlist[*]}
per fare riferimento a tutti loro nel ciclo.