Theo Buehler <t...@math.ethz.ch> writes: > On Sat, Mar 05, 2016 at 01:41:32AM +0100, Timo Buhrmester wrote: >> From src/bin/cp/cp.c: >> > while ((ch = getopt(argc, argv, "HLNPRfailprv")) != -1) >> > [...] >> > case 'i': >> > iflag = isatty(fileno(stdin)); >> The -i in cp -i is ignored if standard input isn't a tty. >> >> This breaks doing something along the lines of ``yes n | cp -i [...]'' >> (obviously overwriting files that weren't supposed to be overwritten, >> as well was rendering the only way to stop cp from overwriting existing >> files ineffective in scripts) >> >> Our man page also doesn't mention this twist. >> > > So netbsd decided to commit this diff with the following commit message: > > The '-i' flag should work regardless of whether the standard input is > a terminal. The Open Group notes this historic behavior and correctly > notes that it doesn't make much sense. Note also, that mv(1) has > always respected its '-i' regardless of whether the standard input is > a terminal. > > From Timo Buhrmester. > > > http://cvsweb.netbsd.org/bsdweb.cgi/src/bin/cp/cp.c?rev=1.59&content-type=text/x-cvsweb-markup > > I can't see any downside to it and if some people were bitten by this, > why not?
I can't see any downside either. ok jca@ -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE