O manual do GNU Coreutils paramv
diz:
-f --force Do not prompt the user before removing a destination file.
No entanto, esse já parece ser o comportamento padrão para mv
, portanto, a -f
opção parece ser supérflua. Por exemplo, no GNU Bash versão 4.3.11:
$ ls -l
total 0
$ touch 1 2; mv -f 1 2; ls
2
$ touch 1 2; mv 1 2; ls
2
Parece improvável que a intenção do -f
sinalizador seja substituir alias mv="mv -i"
, porque existem várias maneiras padrão de substituir um apelido (por exemplo, usar \mv
) que faria isso de forma mais concisa e consistente de todos os comandos.
O manual observa que, "Se você especificar mais de uma das opções -i, -f, -n, somente a final entrará em vigor", mas ainda parece improvável que a intenção da -f
bandeira seja substituí-la -i
em geral, porque um comportamento equivalente pode ser alcançado simplesmente usando mv
, o que é muito mais conciso e compreensível do que usar mv -if
.
Sendo esse o caso, qual é o objetivo da -f
bandeira? Por que isso existe?
mount
, por exemplo (embora haja exemplos melhores). Deseja realmente lembrar quais são os padrões de todas as opções, para poder determinar quais opções precisam ser definidas? É uma BOA COISA ter opções tanto para o padrão quanto para o não padrão, para que você possa definir explicitamente a opção em vez de precisar acompanhar mentalmente qual é o padrão. Algo que é mais fácil de lembrar do que algo que não existe .