-
Notifications
You must be signed in to change notification settings - Fork 1
/
bash-script-template.sh
97 lines (70 loc) · 1.66 KB
/
bash-script-template.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#!/bin/bash
# My template for creating bash scripts.
ERRORMSG=""
#Check that script was executed as root
function rootcheck
{
if [[ $EUID -ne 0 ]]; then
display_message warn "This script must be run as root" 1>&2
exit 1
fi
}
function escalate
{
display_message warn "Temporarily escalating privileges..."
sudo echo "Escalating..."
}
function display_message
{
MESSAGE_TYPE=$1
MESSAGE=$2
case "$MESSAGE_TYPE" in
error)
BORDER_CHAR="X"
;;
warn)
BORDER_CHAR="*"
;;
info)
BORDER_CHAR="-"
;;
for (( i=1; i<=${#MESSAGE}; i++ ))
do
printf "$BORDER_CHAR"
done
printf "\n"
echo $MESSAGE
for (( i=1; i<=${#MESSAGE}; i++ ))
do
printf "$BORDER_CHAR"
done
printf "\n"
}
#Checks the previous command ran successfully
function error_quit #Pass $? as arguement
{
exitstatus=$1 #Grab error code from previous command
if [ $exitstatus -ne 0 ]; then #Was above command was successful?
display_message error "Something went wrong. Exiting with error code: $exitstatus"
exit $1
fi
}
#Error message handling.
function error_msg
{
case "$1" in
quit)
#Replace error_quit?
;;
incomplete)
ERRORMSG="This sript is a work in progress. The function you selected has not been completed yet."
#whiptail --title "SORRY!" --msgbox "$ERRORMSG" 8 78
#dialog --title "SORRY!" ---msgbox "$ERRORMSG" 8 78
display_message warn $ERRORMSG
;;
esac
#Display Error
#whiptail --title "ERROR!" --msgbox "$ERRORMSG" 8 78
#dialog --title "ERROR!" --msgbox "$ERRORMSG" 8 78
display_message error "ERROR -- $ERRORMSGE"
}