for повторяет слова, слова разделяются пробелами. Вы не должны перебирать вывод ls, вы должны использовать * .*:
for file in * .* ; do if [[ $file = . || $file = .. ]] ; then continue fi # ... done