# ====================================================================== # # shared bash functions # # ====================================================================== # ---------------------------------------------------------------------- # returncodes # ---------------------------------------------------------------------- typeset -i rc=0 # Fetch returncode of last executed command. # - It summarizes all exitcodes into rc (= if any job failed it is <> 0) # - It stores the last exitcode in myrc function fetchrc(){ myrc=$? rc=$rc+$myrc if [ $myrc -eq 0 ]; then cecho ok "OK" else cecho error "FAILED (rc=$myrc)" fi } # ---------------------------------------------------------------------- # colors # ---------------------------------------------------------------------- # ------------------------------------------------------------ # color text # ------------------------------------------------------------ # set a terminal color by a keyword # param string keyword to set a color; one of reset | head|cmd|input | ok|warning|error function color(){ sColorcode="" case $1 in "reset") sColorcode="0" ;; "head") sColorcode="33" # yellow ;; "cmd") sColorcode="94" # light blue ;; "input") sColorcode="92" # green ;; "ok") sColorcode="92" # green ;; "warning") sColorcode="33" # yellow ;; "error") sColorcode="91" # red ;; esac if [ ! -z ${sColorcode} ]; then echo -ne "\e[${sColorcode}m" fi } # echo a colored text and reset color # param string keyword to set a color - see function color() above # param string text to show function cecho(){ color $1 shift echo $* color reset } function showPrompt(){ color input echo -n "$*" color reset } # ---------------------------------------------------------------------- # headlines # ---------------------------------------------------------------------- function h1(){ color head echo echo echo "########## $* ##########" echo color reset } function h2(){ color head echo echo "========== $* ==========" echo color reset } function h3(){ color head echo echo "---------- $*" color reset } # ----------------------------------------------------------------------