2021-07-29 00:37:35 -07:00
|
|
|
#!/usr/bin/env sh
|
|
|
|
# YES_ZSH
|
2021-07-29 05:44:12 -07:00
|
|
|
# YES_BASH
|
|
|
|
# YES_DASH
|
2021-07-29 00:37:35 -07:00
|
|
|
|
2021-07-30 19:41:16 -07:00
|
|
|
bak() { ### @-
|
2021-07-29 00:37:35 -07:00
|
|
|
[ $# -gt 0 ] || { printf "%s\n" "$0: too few arguments" >&2; return 1; }
|
|
|
|
local ret=0
|
|
|
|
for f; do
|
2021-07-29 05:44:12 -07:00
|
|
|
if [ -e "$f.bak" ]; then
|
2021-07-29 00:37:35 -07:00
|
|
|
bak "$f.bak" || ret=1
|
|
|
|
fi
|
2021-07-29 05:44:12 -07:00
|
|
|
cp -p "$f" "$f.bak" || ret=1
|
2021-07-29 00:37:35 -07:00
|
|
|
done
|
|
|
|
return $ret
|
|
|
|
}
|
|
|
|
|
|
|
|
[ "${SOURCING:-0}" -gt 0 ] || bak "$@"
|