mirror of
git://slackware.nl/current.git
synced 2024-12-31 10:28:29 +01:00
50 lines
1 KiB
Text
50 lines
1 KiB
Text
|
#!/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 <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
|