Update to (at least) coreutils 9.2, or use a distro which provides that.
With that version, mv -n will print an error and return 1 if a file is skipped. (Previously, it just printed nothing to indicate it was doing nothing. Insert Drake meme here.)
Top-level
Update to (at least) coreutils 9.2, or use a distro which provides that. With that version, mv -n will print an error and return 1 if a file is skipped. (Previously, it just printed nothing to indicate it was doing nothing. Insert Drake meme here.) 9 comments
IMHO good for the coreutils maintainers for making some of this stuff make more sense after all of these years. But I'll wait for the "they hate Unix!" crowd to show up. @mattdm @mcc Unfortunately `-n` doesn't seem to be race-free though :/ With that in mind (if still true), I don't see any worth in a `-n` flag (invoking the "it's not UNIX" meme here :D). Then again, while there are many very bad options added by the GNU project if you ask me (GNU/tar's --checkpoint-action flag springs to mind), but this'd be a really useful flag in principle. Haven't tested, but I believe that's been fixed sometime after 2015. From the release notes for 8.30 (2018): ``` 'mv -n A B' no longer suffers from a race condition that can |
@mcc
There is a new `--update none` option to get the old noclobber behavior, if you want it.
tbh I'm surprised 1) they made what could be a breaking change and 2) to my knowledge there has been no "you broke my scripts" outcry. Although probably the second can be found if I look hard enough.
Also, apparently posix only specifies -i and -f. Because, sure.