Como dissemos nos comentários, não analisa ls
é propenso a erros e completamente desnecessário. Tudo que você precisa é
for f in *;
do
something
done
Isso irá percorrer os arquivos e diretórios 1 em seu diretório atual e salvará cada um deles (espaços e todos) como $f
. Por exemplo:
$ ls -A1
file1
file 2
$ for f in *; do echo "File is '$f'"; done
File is 'file1'
File is 'file 2'
1 No bash, isso irá ignorar nomes de arquivos / diretórios começando com .
(arquivos ocultos) a menos que você tenha definido dotglob
com shopt -s dotglob
.