1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
#!/bin/sh
# Like mv $1 $2, but if the files are the same, just delete $1.
# Status is zero if successful, nonzero otherwise.
#
# Copyright (C) 2011 Free Software Foundation, Inc.
# License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
# This is free software: you are free to change and redistribute it.
# There is NO WARRANTY, to the extent permitted by law."
if test -r "$2" && cmp -- "$1" "$2" >/dev/null; then
rm -f -- "$1"
else
if mv -f -- "$1" "$2"; then :; else
# Ignore failure due to a concurrent move-if-change.
test -r "$2" && cmp -- "$1" "$2" >/dev/null && rm -f -- "$1"
fi
fi
|