Last active
March 8, 2021 18:26
-
-
Save ian128K/39a490e5aa8d3bb77a8b to your computer and use it in GitHub Desktop.
Shell script colours
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Colours and font styles | |
## Syntax: echo -e "${FOREGROUND_COLOUR}${BACKGROUND_COLOUR}${STYLE}Hello world!${RESET_ALL}" | |
# Escape sequence and resets | |
ESC_SEQ="\x1b[" | |
RESET_ALL="${ESC_SEQ}0m" | |
RESET_BOLD="${ESC_SEQ}21m" | |
RESET_UL="${ESC_SEQ}24m" | |
# Foreground colours | |
FG_BLACK="${ESC_SEQ}30;" | |
FG_RED="${ESC_SEQ}31;" | |
FG_GREEN="${ESC_SEQ}32;" | |
FG_YELLOW="${ESC_SEQ}33;" | |
FG_BLUE="${ESC_SEQ}34;" | |
FG_MAGENTA="${ESC_SEQ}35;" | |
FG_CYAN="${ESC_SEQ}36;" | |
FG_WHITE="${ESC_SEQ}37;" | |
FG_BR_BLACK="${ESC_SEQ}90;" | |
FG_BR_RED="${ESC_SEQ}91;" | |
FG_BR_GREEN="${ESC_SEQ}92;" | |
FG_BR_YELLOW="${ESC_SEQ}93;" | |
FG_BR_BLUE="${ESC_SEQ}94;" | |
FG_BR_MAGENTA="${ESC_SEQ}95;" | |
FG_BR_CYAN="${ESC_SEQ}96;" | |
FG_BR_WHITE="${ESC_SEQ}97;" | |
# Background colours (optional) | |
BG_BLACK="40;" | |
BG_RED="41;" | |
BG_GREEN="42;" | |
BG_YELLOW="43;" | |
BG_BLUE="44;" | |
BG_MAGENTA="45;" | |
BG_CYAN="46;" | |
BG_WHITE="47;" | |
# Font styles | |
FS_REG="0m" | |
FS_BOLD="1m" | |
FS_UL="4m" |
@danielloader You can just use it on the first printf string since it escapes chars by default.
I have made something a bit different that supports each setting by itself and runs even on busybox/ash:
https://gist.github.com/tavinus/925c7c9e67b5ba20ae38637fd0e06b07
The script also prints examples for all vars defined.
(there is a commented line with a printf example there as well)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Does this work with printf? and if so, syntax example? Would like to use it with printfs column printing facilities.