#!/usr/bin/env bash set -u red=$'\e[31m' green=$'\e[32m' yellow=$'\e[33m' reset=$'\e[0m' if [[ ! -t 1 || -n ${NO_COLOR:-} ]]; then red= green= yellow= reset= fi print_status() { local color=$1 local label=$2 local message=$3 printf '%s%-5s%s %s\n' "$color" "$label" "$reset" "$message" } print_status "$red" ERROR 'disk space low' print_status "$green" OK 'backup completed' print_status "$yellow" WARN 'restart pending' printf 'plain text after reset\n'