Red Hat Bugzilla – Bug 436083
cp -i -f should act sensibly
Last modified: 2008-03-05 07:03:26 EST
Description of problem:
If both -i and -f options (in that order) are specified to cp then cp should not
act interactively. Conversely, if -f and -i options (in that order) are
specified then -f should be ignored.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. unalias cp
2. touch a b
3. cp -i -f a b
4. cp -f -i a b
3. no prompt
In a sense -i and -f are complimentary. That is, -i means ask, and -f means
don't ask. Often users will alias cp='cp -i' to avoid clobbering files. But
then when they really want to overwrite files unconditionally they will use 'cp
-f' which will translate to 'cp -i -f'. While it is entirely possible to use
'\cp -f' that assumes that the user is fully conscious of any cp alias in effect.
It would make a lot more sense to have both -f and -i use the same internal
flag, rather than distinct "unlink_dest_after_failed_open" and "interactive",
and thereby the final -i/-f would be the flag that endures.
from cp info page:
This option is independent of the `--interactive' or `-i' option:
neither cancels the effect of the other.
So IMO this options work as designed and this behaviour is not a bug.
POSIX specification (defines this behaviour):
Upstream report with answer:
I'm not going to break POSIX definitions and to create fork of cp in this case,
therefore closing NOTABUG.