aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2016-11-16 11:31:26 +1300
committerTom Ryder <tom@sanctum.geek.nz>2016-11-16 11:31:26 +1300
commitd38b2ac502f33294d7e79ebe802d30fc29b4fefd (patch)
tree4ef7f765c4732078ca11b242565dc6db99573887 /bin
parentAdd sqs(1df) (diff)
downloaddotfiles-d38b2ac502f33294d7e79ebe802d30fc29b4fefd.tar.gz
dotfiles-d38b2ac502f33294d7e79ebe802d30fc29b4fefd.zip
Resolve issue with destructive sqs(1df)/stex(1df)
Diffstat (limited to 'bin')
-rwxr-xr-xbin/sqs11
-rwxr-xr-xbin/stex8
2 files changed, 18 insertions, 1 deletions
diff --git a/bin/sqs b/bin/sqs
index 4da572ac..353238d5 100755
--- a/bin/sqs
+++ b/bin/sqs
@@ -1,9 +1,10 @@
#!/bin/sh
# Chop a trailing query string off filenames
+self=sqs
# Check args
if [ "$#" -eq 0 ] ; then
- printf >&2 'Need a filename\n'
+ printf >&2 '%s: Need a filename\n' "$self"
exit 2
fi
@@ -17,6 +18,14 @@ for sn ; do
# Ignore this file if its name wouldn't change
[ "$sn" != "$dn" ] || continue
+ # Ignore this file if its name already exists (don't overwrite)
+ if [ -e "$dn" ] ; then
+ printf >&2 '%s: File named %s already exists\n' \
+ "$self" "$dn"
+ ex=1
+ continue
+ fi
+
# Attempt a rename, flag an error if there was one
mv -- "$sn" "$dn" || ex=1
done
diff --git a/bin/stex b/bin/stex
index d20e8e5b..e1b87773 100755
--- a/bin/stex
+++ b/bin/stex
@@ -21,6 +21,14 @@ for sn ; do
# Ignore this file if its name wouldn't change
[ "$sn" != "$dn" ] || continue
+ # Ignore this file if its name already exists (don't overwrite)
+ if [ -e "$dn" ] ; then
+ printf >&2 '%s: File named %s already exists\n' \
+ "$self" "$dn"
+ ex=1
+ continue
+ fi
+
# Attempt a rename, flag an error if there was one
mv -- "$sn" "$dn" || ex=1
done