最後更新: 2024-04-18
目錄
- echo & escape
- Text Color & Reset
- ...
- tput
echo & escape
The -e option of the echo command enable the parsing of the escape sequences.
In Bash, the <Esc> character can be obtained with the following syntaxes:
- \e
- \033
- \x1B
Text Color & Reset
- black='\e[0;30m'
- white='\e[0;1;37m'
- dark_gray='\e[1;30m'
- light_gray='\e[0;37m'
- red='\e[0;31m'
- green='\e[0;32m'
- yellow='\e[0;33m'
- blue='\e[0;34m'
- magenta='\e[0;35m'
- cyan='\e[0;36m'
Light
- Light Red 1;31
- Light Green 1;32
- Yellow 1;33
- Light Blue 1;34
- Light Purple 1;35
- Light Cyan 1;36
Reset attributes(color)
clear='\e[0m'
The ”\e[0m” sequence removes all attributes (formatting and colors)
Text Color Examples
echo -e "The color is: ${red}red${clear}!"
彩虹
for (( i = 30; i < 38; i++ )); do echo -e "\e[0;"$i"m Normal: (0;$i); \e[1;"$i"m Light: (1;$i)"; done; echo -e "\e[0m"
Text background color
- bg_red='\e[0;41m'
- bg_green='\e[0;42m'
- bg_yellow='\e[0;43m'
- bg_blue='\e[0;44m'
- bg_magenta='\e[0;45m'
- bg_cyan='\e[0;46m'
tput
Usage
- tput setab [1-7] # Set the background colour using ANSI escape
- tput setaf [1-7] # Set the foreground colour using ANSI escape
- tput sgr0 # Reset text format to the terminal's default
Num Colour #define R G B 0 black COLOR_BLACK 0,0,0 1 red COLOR_RED 1,0,0 2 green COLOR_GREEN 0,1,0 3 yellow COLOR_YELLOW 1,1,0 4 blue COLOR_BLUE 0,0,1 5 magenta COLOR_MAGENTA 1,0,1 6 cyan COLOR_CYAN 0,1,1 7 white COLOR_WHITE 1,1,1
e.g.
echo "$(tput setaf 1)Red text $(tput setab 7)and white background$(tput sgr 0)"
應用
redC=`tput setaf 1` greenC=`tput setaf 2` resetC=`tput sgr0` echo "${redC}red text ${greenC}green text${resetC}"