저는 많은 구성 요소가 포함된 대규모 시스템을 초기화하고 구성하는 스크립트를 작성 중입니다.
각 구성요소에는 자체 로그 파일이 있습니다.
설치/구성 오류가 발생할 때마다 구성 요소 파일 이름의 색상을 빨간색으로 변경하고 싶습니다.
어떻게 해야 합니까?
답변1
Google이 답을 찾아줄 것입니다. Hello world를 빨간색으로 인쇄합니다.
echo -e "\033[0;31mHello world\033[0m"
설명하다
<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)
보고 있다http://en.wikipedia.org/wiki/ANSI_escape_code색상 및 기타 기능(굵게 등)의 전체 목록입니다.
tput 명령(사용 가능한 경우)을 사용하면 작업이 더 쉬워집니다.
echo -e "$(tput setaf 1)Hello world$(tput sgr0)"
편의를 위해 시퀀스를 변수에 저장할 수도 있습니다.
ERR_OPEN=$(tput setaf 1)
ERR_CLOSE=$(tput sgr0)
echo -e "${ERR_OPEN}Hello world${ERR_CLOSE}"
답변2
색상을 변수로 설정하는 데 관심이 있는 경우 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"
답변3
http://webhome.csc.uvic.ca/~sae/seng265/fall04/tips/s265s047-tips/bash-using-colors.html.
이것이 당신이 원하는 것일 수도 있습니다.
이런 방식으로 $?
구성 요소 파일의 프로세스를 얻은 다음 사용하도록 선택할 수 있습니다.
echo -e "\e[1;31m"<the-component-file-name>\e[0m"
텍스트를 빨간색으로 만듭니다.