compute/bash-getopts.md
... ...
@@ -1,19 +1,31 @@
1
-<!-- TITLE: Bash Getopts -->
1
+<!-- TITLE: Bash script skeleton -->
2 2
<!-- SUBTITLE: I can never remember this -->
3 3
4 4
5 5
```sh
6 6
#!/usr/bin/env/bash
7
+# Script to do stuff
8
+set -e
9
+
10
+error() {
11
+ echo "$0: ERROR: $1" >&2
12
+ exit 1
13
+}
14
+
15
+info() {
16
+ echo "$0: INFO: $1" >&2
17
+}
18
+
7 19
while getopts ':hpstu:' opt; do
8 20
case $opt in
9 21
p)
10 22
ENV="prod"
11 23
;;
12 24
s)
13
- ENV="test"
25
+ ENV="stage"
14 26
;;
15 27
t)
16
- ENV="int"
28
+ ENV="test"
17 29
;;
18 30
u)
19 31
RUSER="$OPTARG"
... ...
@@ -26,4 +38,8 @@ while getopts ':hpstu:' opt; do
26 38
done
27 39
shift $((OPTIND-1))
28 40
FILES=( "${@}" )
41
+
42
+trap 'error "Script ended unexpectedly at line $LINENO"' EXIT
43
+
44
+# Do stuff
29 45
```