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