Skip to content

Instantly share code, notes, and snippets.

@valvallow
Created September 1, 2013 02:30
Show Gist options
  • Save valvallow/6401925 to your computer and use it in GitHub Desktop.
Save valvallow/6401925 to your computer and use it in GitHub Desktop.
# run-parts: Runs all the scripts found in a directory.
# keep going when something fails
set +e
if [ $# -lt 1 ]; then
echo "Usage: run-parts <directory>"
exit 1
fi
if [ ! -d $1 ]; then
echo "Not a directory: $1"
echo "Usage: run-parts <directory>"
exit 1
fi
# There are several types of files that we would like to
# ignore automatically, as they are likely to be backups
# of other scripts:
IGNORE_SUFFIXES="~ ^ , .bak .new .rpmsave .rpmorig .rpmnew .swp"
# Main loop:
for SCRIPT in $1/* ; do
# If this is not a regular file, skip it:
if [ ! -f $SCRIPT ]; then
continue
fi
# Determine if this file should be skipped by suffix:
SKIP=false
for SUFFIX in $IGNORE_SUFFIXES ; do
if [ ! "`basename $SCRIPT $SUFFIX`" = "`basename $SCRIPT`" ]; then
SKIP=true
break
fi
done
if [ "$SKIP" = "true" ]; then
continue
fi
# If we've made it this far, then run the script if it's executable:
if [ -x $SCRIPT ]; then
echo "$SCRIPT:"
echo
$SCRIPT 2>&1
echo
fi
done
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment