On 03/22/2018 04:53 PM, Paul Eggert wrote:
On 03/22/2018 12:17 PM, Jorgen Harmse wrote:
My preference is a non-zero exit status when mv does not move/rename
the file.
Hmm, this might be doable. POSIX says that the mv exit status is 0 if
"All input files were moved successfully" and is >0 if "An error
occurred". With mv -i, if the user declines a move and there is other
file then neither case applies, so mv can yield either 0 or nonzero as
an exit status. Of course someone would have to write the code and (more
importantly) the documentation to do it that way, but I think your
request is a reasonable one.
I'd argue the opposite: 0 implies success ("I successfully moved all 0
files that you interactively approved for me to move"), while 1 implies
failure ("I failed to move a file, AND printed an error message why").
When the user declines to move a file, we don't print an error message,
so that should NOT be treated as an error, but successfully skipping the
file. We didn't fail to move the file, because we didn't even attempt
to move the file. That is, interactive decisions can only reduce the
set of files to attempt to move, and not be treated as errors on t heir own.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org