Il manuale GNU Coreutils permv
dice:
-f --force Do not prompt the user before removing a destination file.
Tuttavia, questo sembra già essere il comportamento predefinito per mv
, quindi l' -f
opzione sembra essere superflua. Ad esempio in GNU Bash versione 4.3.11:
$ ls -l
total 0
$ touch 1 2; mv -f 1 2; ls
2
$ touch 1 2; mv 1 2; ls
2
Sembra improbabile che l'intenzione della -f
bandiera sia quella di sovrascrivere alias mv="mv -i"
, perché ci sono diversi modi standard di sovrascrivere un alias (ad es. Usare \mv
) che lo farebbero in modo più conciso e coerente tra i comandi.
Il manuale osserva che "Se si specifica più di una delle opzioni -i, -f, -n, solo l'effetto finale ha effetto", ma sembra ancora improbabile che l'intenzione della -f
bandiera sia quella di sostituire la -i
bandiera in generale, perché si può ottenere un comportamento equivalente semplicemente usando mv
, che è molto più conciso e comprensibile dell'uso mv -if
.
Stando così le cose, qual è lo scopo della -f
bandiera? Perché esiste?
mount
, ad esempio (anche se ci sono esempi migliori). Vuoi davvero ricordare quali sono le impostazioni predefinite per ogni opzione, così puoi determinare quali opzioni devi impostare? È una buona cosa avere opzioni sia per il default che per il non default, quindi puoi impostare esplicitamente l'opzione invece di dover tenere mentalmente traccia di ciò che è predefinito. Qualcosa non v'è più facile da ricordare che qualcosa non c'era .