Посібник GNU Coreutils дляmv
:
-f --force Do not prompt the user before removing a destination file.
Однак це, здається, є поведінкою за замовчуванням mv
, тому -f
варіант видається зайвим. Наприклад, версія GNU Bash 4.3.11:
$ ls -l
total 0
$ touch 1 2; mv -f 1 2; ls
2
$ touch 1 2; mv 1 2; ls
2
Здається, малоймовірно, що -f
прапор має намір переосмислити alias mv="mv -i"
, оскільки існує кілька стандартних способів переосмислення псевдоніма (наприклад, використання \mv
), які могли б зробити це більш стисло та таким чином, який узгоджується з усіма командами.
У посібнику зазначається, що "Якщо ви вказали більше одного з варіантів -i, -f, -n, набуває чинності лише остаточний", але все ще здається, що намір -f
прапора полягає в тому, щоб -i
взагалі змінити прапор, тому що еквівалентну поведінку можна досягти простим використанням mv
, що набагато більш стисло і зрозуміло, ніж використання mv -if
.
У цьому випадку, яка мета -f
прапора? Чому воно існує?
mount
, наприклад, є кращі приклади. Ви дійсно хочете пам’ятати, якими є параметри за замовчуванням для кожного варіанту, щоб ви могли визначити, які параметри потрібно встановити? ДОБРО, ЩО мати варіанти як за замовчуванням, так і не за замовчуванням, тому ви можете чітко встановити параметр, а не подумки слідкувати, що таке за замовчуванням. Щось там легше запам’ятати, ніж щось там немає .