#!MANEAGESHELL # 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. # # USAGE IN MANEAGE: this script is built with the 'libpaper' package. # # The original file was taken from Linux From Scratch: # http://www.linuxfromscratch.org/blfs/view/svn/general/libpaper.html # However, it didn't have a copyright statement. So one is being added # here. # # Copyright (C) 2020 Authors mentioned above. # Copyright (C) 2020 Mohammad Akhlaghi # # This script is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This script is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this script. If not, see . # keep going when something fails set +e if [ $# -lt 1 ]; then echo "Usage: run-parts " exit 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 .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