12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #!/bin/sh
- # run-parts: Runs all the scripts found in a directory.
- # from Slackware, by Patrick J. Volkerding with ideas borrowed
- # from the Red Hat and Debian versions of this utility.
- # 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
- $SCRIPT || echo "$SCRIPT failed."
- fi
- done
- exit 0
|