mirror of
https://github.com/notwa/rc
synced 2024-07-01 03:07:13 -07:00
fix nasty bugs in bak
This commit is contained in:
parent
19e12cee88
commit
549f0b3a00
17
sh/bak
17
sh/bak
|
@ -8,21 +8,22 @@ bak() { ### @-
|
||||||
### this calls itself recursively to avoid clobbering existing backups.
|
### this calls itself recursively to avoid clobbering existing backups.
|
||||||
###
|
###
|
||||||
### ```
|
### ```
|
||||||
### % touch -d '2001-12-25 16:30:00' butts
|
### $ touch -d '2001-12-25 16:30:00' butts
|
||||||
### % bak butts
|
### $ bak butts
|
||||||
### % touch butts
|
### $ touch butts
|
||||||
### % bak butts
|
### $ bak butts
|
||||||
### % ls -l
|
### $ ls -l
|
||||||
### total 0
|
### total 0
|
||||||
### -rw-r--r-- 1 notwa None 0 Aug 1 07:56 butts
|
### -rw-r--r-- 1 notwa None 0 Aug 1 08:02 butts
|
||||||
### -rw-r--r-- 1 notwa None 0 Dec 25 2001 butts.bak
|
### -rw-r--r-- 1 notwa None 0 Aug 1 08:02 butts.bak
|
||||||
### -rw-r--r-- 1 notwa None 0 Dec 25 2001 butts.bak.bak
|
### -rw-r--r-- 1 notwa None 0 Dec 25 2001 butts.bak.bak
|
||||||
### ```
|
### ```
|
||||||
[ $# -gt 0 ] || { printf "%s\n" "$0: too few arguments" >&2; return 1; }
|
[ $# -gt 0 ] || { printf "%s\n" "$0: too few arguments" >&2; return 1; }
|
||||||
local ret=0
|
local ret=0
|
||||||
|
local f
|
||||||
for f; do
|
for f; do
|
||||||
if [ -e "$f.bak" ]; then
|
if [ -e "$f.bak" ]; then
|
||||||
bak "$f.bak" || ret=1
|
bak "$f.bak" || { ret=1; continue; }
|
||||||
fi
|
fi
|
||||||
cp -p "$f" "$f.bak" || ret=1
|
cp -p "$f" "$f.bak" || ret=1
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in New Issue
Block a user