Podręcznik GNU Coreutilsmv
mówi:
-f --force Do not prompt the user before removing a destination file.
Jednak wydaje się to już zachowanie domyślne mv
, więc -f
opcja wydaje się zbędna. Np. W GNU Bash w wersji 4.3.11:
$ ls -l
total 0
$ touch 1 2; mv -f 1 2; ls
2
$ touch 1 2; mv 1 2; ls
2
Wydaje się mało prawdopodobne, że intencją -f
flagi jest przesłonięcie alias mv="mv -i"
, ponieważ istnieje kilka standardowych sposobów przesłonięcia aliasu (np. Użycie \mv
), które zrobiłyby to bardziej zwięźle i w sposób spójny między poleceniami.
Podręcznik zauważa, że „Jeśli określisz więcej niż jedną z opcji -i, -f, -n, tylko ostatnia zostanie zastosowana”, ale nadal wydaje się mało prawdopodobne, że intencją -f
flagi jest zastąpienie -i
flagi w ogóle, ponieważ ekwiwalentne zachowanie można osiągnąć po prostu używając mv
, co jest o wiele bardziej zwięzłe i zrozumiałe niż używanie mv -if
.
W takim razie jaki jest cel -f
flagi? Dlaczego to istnieje?
mount
(chociaż istnieją lepsze przykłady). Czy naprawdę chcesz pamiętać o domyślnych ustawieniach każdej opcji, aby określić, które opcje należy ustawić? DOBRA RZECZ jest mieć opcje zarówno domyślne, jak i domyślne, więc możesz jawnie ustawić tę opcję, zamiast mentalnie śledzić domyślną wartość. Coś tam jest łatwiejsze do zapamiętania niż coś nieistniejącego .