dotfiles/.local/bin/scripts/bak

26 lines
527 B
Plaintext
Raw Normal View History

#!/bin/sh -e
# Rename a file with a backup suffix or revert it
# Add -a to act on multiple files,
# otherwise the second arg is used as suffix rather than the default "bak".
if test "$1" = "-a"; then
shift
for arg; do "$0" "$arg"; done
exit $?
fi
2021-07-04 16:20:36 +00:00
suffix="${2:-bak}"
2021-07-04 19:56:12 +00:00
orig="${1%%.$suffix}"
2021-09-20 09:14:34 +00:00
smv () {
eval source=\$$(($#-1))
if test -w "$source"
then mv -v "$@"
else sudo mv -v "$@"
fi
2021-09-20 09:14:34 +00:00
}
2021-07-04 19:56:12 +00:00
if test -e "$orig.$suffix"
then
test -e "$orig" && smv "$orig" /tmp
smv -n "$orig.$suffix" "$orig"
2021-09-29 16:38:57 +00:00
else
smv -n "$1" "$1.$suffix"
2021-07-04 19:56:12 +00:00
fi