#!/bin/bash # Desc: Defines bash functions yell(), die(), and must(), which are useful for # indicating where in a script an error occurs. # Note: All three functions should be added together if used at all. # Ref/Attrib: [1] Yell, Die, Try Three-Fingered Claw technique https://stackoverflow.com/a/25515370 # Depends: GNU Coreutils 8.30 # Version 1.0.0 #==BEGIN Define script parameters== #==END Define script parameters== #===BEGIN Declare local script functions=== yell() { echo "$0: $*" >&2; } # print script path and all args to stderr die() { yell "$*"; exit 111; } # same as yell() but non-zero exit status must() { "$@" || die "cannot $*"; } # runs args as command, reports args if command fails #===END Declare local script functions=== #==BEGIN sample code== yell "This message should appear in stderr."; must echo "This message should appear in stdout."; must eeeecho "This message should appear in an error message in stderr."; yell "This message should not appear because \"must eeeecho\" failed."; #==END sample code==