#!/bin/bash # https://stackoverflow.com/a/246128 SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) . $SCRIPT_DIR/colors.sh logger () { echo -e "${NC}$(date) - [$BASHPID] - [${0##*/}] - $@${NC}" } loggerseparator () { echo -e "${NC}$(date) - [$BASHPID] - =====================================" } saferun () { local allcommands="" for var in "$@"; do allcommands="$allcommands$var /// " done logger "Enter to run the following command(s): $allcommands" read ok local ret=0 for var in "$@"; do if [[ $ret -eq 0 ]]; then $var ret=$? else logger "command $var aborted because previous command exited non-zero!" fi done loggerseparator logger "Command(s) done!" loggerseparator }