3 # ax-common.sh -- Common Functions for Shell Scripts
4 # Copyright (c)2013-2015 Alexander Barton (alex@barton.de)
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
12 # shellcheck disable=SC2034
15 # Display a colored message.
16 # $1 Level: -=title, 0=ok, 1=warning, 2=error.
17 # $2 Word(s) to highlight.
18 # $3-n Remaining word(s). [optional]
21 "0") c="32"; shift; ;; # green
22 "1") c="33"; shift; ;; # yellow
23 "2") c="31"; shift; ;; # red
24 "-") c="1"; shift; ;; # bold
27 # print colored word(s):
28 printf "\033[0;%sm%s\033[0m " "${c}" "${1}"
30 # print remaining word(s) and trailing newline:
34 # Display a colored message.
35 # $1 Level, see ax_msg1 function.
36 # $2-n Word(s) to highlight.
43 # Display an error message to stderr.
44 # [-l] Log message to syslog, too.
47 if [ "$1" = "-l" ]; then
49 if [ -n "$NAME" ]; then
50 logger -t "$NAME" "$*"
58 # Abort the script with an error message and exit code 1.
59 # [-l] Log message to syslog, too.
60 # $1 Error message [optional]. Will be formatted as "Error: %s Aborting!".
61 # if no error message is given, "Aborting!" will be printed.
63 if [ "$1" = "-l" ]; then
69 ax_error $log_param "Error: $* Aborting!"
71 ax_error $log_param "Aborting!"
76 # Display a debug message, when debug mode is enabled, that is, the environment
77 # variable "DEBUG" is set.
79 [ -n "$DEBUG" ] && ax_msg1 1 "DEBUG:" "$*"