3 # ax-common.sh -- Common Functions for Shell Scripts
4 # Copyright (c)2013-2017 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 # "ax_common_sourced" is a flag and stores the "API version" of "ax-common.sh",
13 # too. It should be incremented each time the public API changes!
14 # shellcheck disable=SC2034
17 # Display a colored message.
18 # $1 Level: -=title, 0=ok, 1=warning, 2=error.
19 # $2 Word(s) to highlight.
20 # $3-n Remaining word(s). [optional]
23 "0") c="32"; shift; ;; # green
24 "1") c="33"; shift; ;; # yellow
25 "2") c="31"; shift; ;; # red
26 "-") c="1"; shift; ;; # bold
29 # print colored word(s):
30 printf "\033[0;%sm%s\033[0m " "${c}" "${1}"
32 # print remaining word(s) and trailing newline:
36 # Display a colored message.
37 # $1 Level, see ax_msg1 function.
38 # $2-n Word(s) to highlight.
45 # Display an error message to stderr.
46 # [-l] Log message to syslog, too.
49 if [ "$1" = "-l" ]; then
51 if [ -n "$NAME" ]; then
52 logger -t "$NAME" "$*"
60 # Abort the script with an error message and exit code 1.
61 # [-l] Log message to syslog, too.
62 # $1 Error message [optional]. Will be formatted as "Error: %s Aborting!".
63 # if no error message is given, "Aborting!" will be printed.
65 if [ "$1" = "-l" ]; then
72 ax_error $log_param "Error: $* Aborting!"
74 ax_error $log_param "Aborting!"
79 # Display a debug message, when debug mode is enabled, that is, the environment
80 # variable "DEBUG" is set.
82 [ -n "$DEBUG" ] && ax_msg1 1 "DEBUG:" "$*"