Como o slm já indicou, você pode testar se $f
é um arquivo normal. Enquanto aprendi, eu mudaria o script para não ser um forro, eles tendem a ser mais difíceis de ler e manter:
for f in *
do
if [ -f "$f" ]
then
mv -- "$f" "$f-$(stat -c %Y "$f" | date +%Y%m%d)"
fi
done
(você sempre pode dobrar isso mais tarde inserindo ;
e excluindo novas linhas)
O -f
testa o argumento para ser um arquivo regular (não um dispositivo ou diretório), existem outros testes também ( -d
para o diretório, por exemplo, então você pode testar if [ ! -d "$f" ]
também neste caso) .