Um bom exemplo é mover um arquivo para um diretório:
mv some_file foo
vs.
mv some_file foo/
Se foo
não existe, o primeiro irá renomear some_file
para foo
, em vez da pretendida foo/some_file
; o segundo reclamará, que é o que você quer.
Se foo
faz existe, mas não é um diretório, o primeiro pode espancar o arquivo foo
; novamente, o segundo vai reclamar.
cp
apresenta problemas semelhantes.
Trabalhando em algumas versões antigas do SunOS, eu desenvolvi o hábito de acrescentar /.
, porque o sistema realmente ignorado uma fuga /
em um nome de arquivo; por exemplo, /etc/motd/
se referiria ao arquivo em vez de ser um erro. Versões posteriores do SunOS / Solaris não parecem ter esse problema.