aboutsummaryrefslogtreecommitdiff
path: root/bin/stex
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2016-08-09 17:15:40 +1200
committerTom Ryder <tom@sanctum.geek.nz>2016-08-09 17:20:10 +1200
commit9fb350dc7c8cc5259ef24e0cb097031179fab1d6 (patch)
tree839dd0b8ee3f5323b1cd6aefa22b605b99437d62 /bin/stex
parentMention nosls/sls flags in slsf(1) man page (diff)
downloaddotfiles-9fb350dc7c8cc5259ef24e0cb097031179fab1d6.tar.gz
dotfiles-9fb350dc7c8cc5259ef24e0cb097031179fab1d6.zip
Improve commenting/exit handling in binscripts
Diffstat (limited to 'bin/stex')
-rwxr-xr-xbin/stex20
1 files changed, 17 insertions, 3 deletions
diff --git a/bin/stex b/bin/stex
index f4173a88..d20e8e5b 100755
--- a/bin/stex
+++ b/bin/stex
@@ -1,15 +1,29 @@
#!/bin/sh
-# Strip an extension from the given files
+# Strip an extension from the given filenames
+
+# Check args
if [ "$#" -lt 2 ] ; then
printf >&2 'Need an extension .ext and a filename\n'
exit 2
fi
-ex=0 ext=$1
+
+# Extension is first arg, shift it off
+ext=$1
shift
+
+# Iterate through the given files (remaining args)
for sn ; do
+
+ # Strip trailing slash if any and then extension
sn=${sn%/}
dn=${sn%"$ext"}
+
+ # Ignore this file if its name wouldn't change
[ "$sn" != "$dn" ] || continue
+
+ # Attempt a rename, flag an error if there was one
mv -- "$sn" "$dn" || ex=1
done
-exit "$ex"
+
+# Exit with 1 if there was any failed mv(1) run
+exit "${ex:-0}"