Nevytváříte pole, dokud je neobklopíte (
)
:
dirlist=(`ls ${prefix}*.text`)
Deklarujte pole souborů:
arr=(~/myDir/*)
Iterujte pole pomocí čítače:
for ((i=0; i < ${#arr[@]}; i++)); do
# [do something to each element of array]
echo "${arr[$i]}"
done
Toto:
dirlist=`ls ${prefix}*.text`
nevytváří pole. Vytvoří pouze řetězec s názvy souborů oddělenými mezerami.
Musíte to udělat
dirlist=(`ls ${prefix}*.text`)
aby z toho bylo pole.
Poté $dirlist
bude odkazovat pouze na první prvek, takže musíte použít
${dirlist[*]}
odkazovat na všechny z nich ve smyčce.
Jak najdu soubory, které mají pouze určitá oprávnění pro vlastníka?
Jak spočítat počet souborů v každém adresáři?