On 18 June 2011 04:13, Bruce Momjian <bruce@momjian.us> wrote:
> Bruce Momjian wrote:
>>
>> Wow, this is the first I am hearing GNU cp -i can return zero exit if it
>> doesn't do the copy. I tested this on Ubuntu 10.04 using cp 7.4 and
>> got:
>>
>> $ touch x y
>> $ cp -i x y; echo $?
>> cp: overwrite `y'? n
>> 0
>>
>> I see the same on my anchent BSD/OS machine too:
>>
>> $ touch x y
>> $ cp -i x y; echo $?
>> overwrite y? n
>> 0
>>
>> Were we expecting an error if the file already existed? Assuming that,
>> we should assume the file will always exist so basically archiving will
>> never progress. Is this what we want? I just wasn't aware we were
>> expecting an already-existing this to be an error --- I thought we just
>> didn't want to overwrite it.
>
> I tested on FreeBSD 7.4 and saw a 1 error return:
>
> $ touch x y
> $ cp -i x y; echo $?
> overwrite y? (y/n [n]) n
> not overwritten
> 1
And on a Mac (so through Darwin 10.7.0 a BSD version too):
toucan:tmp thom$ touch x y
toucan:tmp thom$ cp -i x y; echo $?
overwrite y? (y/n [n]) n
not overwritten
1
Thom