diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2016-08-09 17:15:40 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2016-08-09 17:20:10 +1200 |
commit | 9fb350dc7c8cc5259ef24e0cb097031179fab1d6 (patch) | |
tree | 839dd0b8ee3f5323b1cd6aefa22b605b99437d62 /bin/stex | |
parent | Mention nosls/sls flags in slsf(1) man page (diff) | |
download | dotfiles-9fb350dc7c8cc5259ef24e0cb097031179fab1d6.tar.gz dotfiles-9fb350dc7c8cc5259ef24e0cb097031179fab1d6.zip |
Improve commenting/exit handling in binscripts
Diffstat (limited to 'bin/stex')
-rwxr-xr-x | bin/stex | 20 |
1 files changed, 17 insertions, 3 deletions
@@ -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}" |