2 # Desc: Defines bash functions yell(), die(), and try(), which are useful for
3 # indicating where in a script an error occurs.
4 # Ref/Attrib: [1] Yell, Die, Try Three-Fingered Claw technique https://stackoverflow.com/a/25515370
5 # Depends: GNU Coreutils 8.30
7 #==BEGIN Define script parameters==
8 #==END Define script parameters==
10 #===BEGIN Declare local script functions===
11 yell
() { echo "$0: $*" >&2; }
12 die
() { yell
"$*"; exit 111; }
13 try
() { "$@" || die
"cannot $*"; }
14 #===END Declare local script functions===
16 #==BEGIN sample code==
17 yell
"This message should appear in stderr.";
18 try
echo "This message should appear in stdout.";
19 try eeeecho
"This message should appear in an error message in stderr.";
20 yell
"This message should not appear because \"try eeeecho\" failed.";