Câu trả lời:
Google sẽ tìm cho bạn câu trả lời. In Hello world in red:
echo -e "\033[0;31mHello world\033[0m"
Giải thích
<esc><attr>;<foreground>m
<esc> = \033[ ANSI escape sequence, some environments will allow \e[ instead
<attr> = 0 Normal text - bold possible with 1;
<foreground> = 31 30 + 1 = Color red - obviously!
m = End of sequence
\033[0m Reset colors (otherwise following lines will be red too)
Hãy xem http://en.wikipedia.org/wiki/ANSI_escape_code để biết danh sách đầy đủ các màu sắc và các chức năng khác (in đậm, v.v.).
Lệnh tput, nếu có, sẽ làm cho cuộc sống dễ dàng hơn:
echo -e "$(tput setaf 1)Hello world$(tput sgr0)"
Thậm chí có thể lưu các chuỗi trong vars để sử dụng đơn giản hơn.
ERR_OPEN=$(tput setaf 1)
ERR_CLOSE=$(tput sgr0)
echo -e "${ERR_OPEN}Hello world${ERR_CLOSE}"
http://webhome.csc.uvic.ca/~sae/seng265/fall04/tips/s265s047-tips/bash-USE-colors.html .
Đây có thể là những gì bạn muốn.
Vì vậy, bạn có thể nhận được $?
quá trình của một tệp thành phần, sau đó chọn sử dụng
echo -e "\e[1;31m"<the-component-file-name>\e[0m"
để làm cho văn bản của nó màu đỏ.
Nếu bạn quan tâm đến việc thiết lập màu sắc như các biến, những điều sau đây có thể hữu ích cho việc đặt bảng màu cho tập lệnh bash
COL_BLACK="\x1b[30;01m"
COL_LIGHTBLACK="\x1b[30;11m"
COL_BLUE="\x1b[34;01m"
COL_LIGHTBLUE="\x1b[34;11m"
COL_CYAN="\x1b[36;01m"
COL_LIGHTCYAN="\x1b[36;11m"
COL_GRAY="\x1b[37;11m"
COL_LIGHTGRAY="\x1b[37;01m"
COL_GREEN="\x1b[32;01m"
COL_LIGHTGREEN="\x1b[32;11m"
COL_PURPLE="\x1b[35;01m"
COL_LIGHTPURPLE="\x1b[35;11m"
COL_RED="\x1b[31;01m"
COL_LIGHTRED="\x1b[31;11m"
COL_YELLOW="\x1b[33;01m"
COL_LIGHTYELLOW="\x1b[33;11m"
COL_RESET="\x1b[39;49;00m"