Skip to content

Instantly share code, notes, and snippets.

@gko
Forked from mhulse/fromhex.bash
Created March 20, 2020 10:45
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 gko/a47045426e781cd0f58434a396bfe1dd to your computer and use it in GitHub Desktop.
Save gko/a47045426e781cd0f58434a396bfe1dd to your computer and use it in GitHub Desktop.
Bash function to convert hex to 256 terminal color.
# fromhex A52A2A
# fromhex "#A52A2A"
# BLUE_VIOLET=$(fromhex "#8A2BE2")
# http://unix.stackexchange.com/a/269085/67282
function fromhex() {
hex=$1
if [[ $hex == "#"* ]]; then
hex=$(echo $1 | awk '{print substr($0,2)}')
fi
r=$(printf '0x%0.2s' "$hex")
g=$(printf '0x%0.2s' ${hex#??})
b=$(printf '0x%0.2s' ${hex#????})
echo -e `printf "%03d" "$(((r<75?0:(r-35)/40)*6*6+(g<75?0:(g-35)/40)*6+(b<75?0:(b-35)/40)+16))"`
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment