#!/usr/bin/env bash readonly GREEN="\033[38;5;34m" readonly MAGENTA="\033[38;5;127m" readonly BLUE="\033[38;5;33m" readonly YELLOW="\033[38;5;220m" readonly RED="\033[38;5;160m" readonly RESET="\033[0m" ## # description: Logs the message with the correct prefix into the console # usage: log ## function log() { local prefix type=${1} print=false shift message=$@ case ${type} in "s") print=true prefix="${GREEN}[SUCCESS]${RESET}" ;; "d") if [[ "${debuglevel}" -ge 4 ]]; then print=true fi prefix="${MAGENTA}[DEBUG]${RESET}" ;; "i") if [[ "${debuglevel}" -ge 1 ]]; then print=true fi prefix="${BLUE}[INFO]${RESET}" ;; "w") if [[ "${debuglevel}" -ge 2 ]]; then print=true fi prefix="${YELLOW}[WARN]${RESET}" ;; "e") if [[ "${debuglevel}" -ge 3 ]]; then print=true fi prefix="${RED}[ERR]${RESET}" ;; esac "${print}" && echo -e "${prefix} ${message}" return 0 } function printc() { colour="${1}" shift message=$@ case "${colour}" in "g") echo -ne "${GREEN}${message}${RESET}\n" ;; "m") echo -ne "${MAGENTA}${message}${RESET}\n" ;; "b") echo -ne "${BLUE}${message}${RESET}\n" ;; "y") echo -ne "${YELLOW}${message}${RESET}\n" ;; "r") echo -ne "${RED}${message}${RESET}\n" ;; *) log e "There is no such colour available!" exit 1 ;; esac }