Skip to content

Instantly share code, notes, and snippets.

@opatry
Last active December 20, 2015 09:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save opatry/6108840 to your computer and use it in GitHub Desktop.
Save opatry/6108840 to your computer and use it in GitHub Desktop.
Bash template for script using colors.
#!/bin/bash
# Reset
Color_Off='\e[0m' # Text Reset
# Regular Colors
Black='\e[0;30m' # Black
Red='\e[0;31m' # Red
Green='\e[0;32m' # Green
Yellow='\e[0;33m' # Yellow
Blue='\e[0;34m' # Blue
Purple='\e[0;35m' # Purple
Cyan='\e[0;36m' # Cyan
White='\e[0;37m' # White
# Bold
BBlack='\e[1;30m' # Black
BRed='\e[1;31m' # Red
BGreen='\e[1;32m' # Green
BYellow='\e[1;33m' # Yellow
BBlue='\e[1;34m' # Blue
BPurple='\e[1;35m' # Purple
BCyan='\e[1;36m' # Cyan
BWhite='\e[1;37m' # White
# Underline
UBlack='\e[4;30m' # Black
URed='\e[4;31m' # Red
UGreen='\e[4;32m' # Green
UYellow='\e[4;33m' # Yellow
UBlue='\e[4;34m' # Blue
UPurple='\e[4;35m' # Purple
UCyan='\e[4;36m' # Cyan
UWhite='\e[4;37m' # White
# Background
On_Black='\e[40m' # Black
On_Red='\e[41m' # Red
On_Green='\e[42m' # Green
On_Yellow='\e[43m' # Yellow
On_Blue='\e[44m' # Blue
On_Purple='\e[45m' # Purple
On_Cyan='\e[46m' # Cyan
On_White='\e[47m' # White
# High Intensity
IBlack='\e[0;90m' # Black
IRed='\e[0;91m' # Red
IGreen='\e[0;92m' # Green
IYellow='\e[0;93m' # Yellow
IBlue='\e[0;94m' # Blue
IPurple='\e[0;95m' # Purple
ICyan='\e[0;96m' # Cyan
IWhite='\e[0;97m' # White
# Bold High Intensity
BIBlack='\e[1;90m' # Black
BIRed='\e[1;91m' # Red
BIGreen='\e[1;92m' # Green
BIYellow='\e[1;93m' # Yellow
BIBlue='\e[1;94m' # Blue
BIPurple='\e[1;95m' # Purple
BICyan='\e[1;96m' # Cyan
BIWhite='\e[1;97m' # White
# High Intensity backgrounds
On_IBlack='\e[0;100m' # Black
On_IRed='\e[0;101m' # Red
On_IGreen='\e[0;102m' # Green
On_IYellow='\e[0;103m' # Yellow
On_IBlue='\e[0;104m' # Blue
On_IPurple='\e[0;105m' # Purple
On_ICyan='\e[0;106m' # Cyan
On_IWhite='\e[0;107m' # White
# @param $1 the text to echo
# @param $2 the color to use (${Color_Off} by default)
function echolor {
local text="$1"
if [[ $# -eq 1 ]]; then
local color=${Color_Off}
else
local color="$2"
fi
echo -e ${color}${text}${Color_Off};
}
function _success {
echolor "$1" "${Green}"
}
function _error {
echolor "$1" "${Red}"
}
function _warning {
echolor "$1" "${Yellow}"
}
function _info {
echolor "$1" "${ICyan}"
}
function _title {
echolor "# $1" "${BIPurple}${On_Black}"
}
@opatry
Copy link
Author

opatry commented Jul 29, 2013

It defines ANSII Colors (using skeleton given by the Arch Linux Wiki) and some convenient echo -e aliases for info, error, warning, success and title messages with associated colors and styles.

@opatry
Copy link
Author

opatry commented Jul 29, 2013

Usage:

_info "This is an info message"
_error "This is an error message"
_warning "This is a warning message"
_success "This is a success message"
_title "This is a title"

echolor "Will output this in red" ${Red}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment