#!/bin/sh # 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 " exit 1 fi unset EXIT_ON_ERROR if [ "$1" == "--exit-on-error" ]; then EXIT_ON_ERROR="y" shift 1 fi if [ ! -d $1 ]; then echo "Not a directory: $1" echo "Usage: run-parts " 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 .pacsave .pacorig .pacnew .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 $SCRIPT 2>&1 if [ -n "$EXIT_ON_ERROR" -a $? != 0 ]; then exit 1 fi fi done exit 0