| 144 | 1 #!/bin/sh | 
|  | 2 | 
| 145 | 3 # Usage: | 
|  | 4 #   _c [bold_|]<color> <text> | 
|  | 5 # | 
|  | 6 #   <color> can be one of: | 
|  | 7 #     black, blue, green, cyan, red, purple, brown, gray | 
|  | 8 #   Prefix the color with bold_ to use bold style/light color. | 
|  | 9 # | 
|  | 10 # Example: | 
|  | 11 #   To print word "Hello" in bold blue: | 
|  | 12 #     _c bold_blue "Hello" | 
|  | 13 # | 
|  | 14 #   To print text with only one word colored: | 
|  | 15 #     echo "Hello, $(c green world)." | 
|  | 16 # | 
|  | 17 # To do: | 
|  | 18 #   Support for background color, underline, etc. | 
|  | 19 # | 
| 239 | 20 # Reference: | 
|  | 21 #   Colours, http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html | 
|  | 22 # | 
| 145 | 23 | 
| 144 | 24 _c() { | 
|  | 25   color_name="${1}" | 
|  | 26   shift | 
|  | 27   text="${*}" | 
|  | 28   esq="\033[" | 
|  | 29   r="${esq}0m" # r for reset | 
|  | 30   case "${color_name}" in | 
|  | 31     bold_*) color="1;";; | 
|  | 32     *) color="0;";; | 
|  | 33   esac | 
|  | 34   case "${color_name}" in | 
|  | 35     *black) color="${color}30";; | 
|  | 36     *blue) color="${color}34";; | 
|  | 37     *green) color="${color}32";; | 
|  | 38     *cyan) color="${color}36";; | 
|  | 39     *red) color="${color}31";; | 
|  | 40     *purple) color="${color}35";; | 
|  | 41     *brown) color="${color}33";; | 
|  | 42     *gray) color="${color}37";; | 
|  | 43   esac | 
|  | 44   color="${esq}${color}m" | 
|  | 45   printf "${color}%s${r}" "${text}" | 
|  | 46 } | 
|  | 47 |