| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- # shared shell functions
- info() {
- local msg="$@"
- local timestamp="$(date +%H:%M:%S)"
- say "===> ${timestamp} ${msg}" "green"
- }
- warn() {
- local msg="$@"
- local timestamp=$(date +%H:%M:%S)
- say "===> ${timestamp} WARN: ${msg}" "yellow" >&2
- }
- fail() {
- local msg="$@"
- say "ERROR: ${msg}" "red" >&2
- exit 1
- }
- # say prints the given message to STDOUT, using the optional color if
- # STDOUT is a terminal.
- #
- # usage:
- #
- # say "foo" - prints "foo"
- # say "bar" "red" - prints "bar" in red
- # say "baz" "green" - prints "baz" in green
- # say "qux" "red" | tee - prints "qux" with no colour
- #
- say() {
- local msg=$1
- local color=$2
- if [[ -n "${color}" ]] && [[ -t 1 ]]; then
- case "${color}" in
- red)
- echo -e "\033[1;31m${msg}\033[0m"
- ;;
- green)
- echo -e "\033[1;32m${msg}\033[0m"
- ;;
- yellow)
- echo -e "\033[1;33m${msg}\033[0m"
- ;;
- *)
- echo "${msg}"
- ;;
- esac
- else
- echo "${msg}"
- fi
- }
|