답변:
가장 호환 가능한 방법은 tput
터미널에 보낼 올바른 시퀀스를 찾는 것입니다 .
bold=$(tput bold)
normal=$(tput sgr0)
당신은 변수 사용할 수 있습니다 $bold
및 $normal
형식 일에를 :
echo "this is ${bold}bold${normal} but this isn't"
준다
이것은 대담 하지만 이것은 아닙니다
tput smul
tput
함께 멋진 명령입니다 명령의 많은 여러 가지 작업.
motd
파일을 사용하려고 합니다. 해당 인스턴스에서 $bold
및 $normal
변수를 어떻게 / 어떻게 정의 합니까?
문자열에 스타일을 적용하려면 다음과 같은 명령을 사용할 수 있습니다.
echo -e '\033[1mYOUR_STRING\033[0m'
설명:
-e
옵션은 이스케이프 된 (백 슬래시) 문자열이 해석됨을 의미합니다.가능한 정수는 다음과 같습니다.
[0m
제공 하는 기능을 둘러
\033[0m
3
-이탤릭체 , 최소한 곤창
bash가 vt100 호환 터미널에서 실행 중이며 사용자가 서식 지원을 명시 적으로 해제하지 않은 것으로 가정합니다.
먼저 옵션을 echo
사용하여 에서 특수 문자에 대한 지원을 설정하십시오 -e
. 나중에 ESC[1m
다음과 같이 ansi escape sequence를 사용하십시오 .
echo -e "\033[1mSome Text"
ansi escape sequence에 대한 자세한 내용은 여기를 참조하십시오 : ascii-table.com/ansi-escape-sequences-vt-100.php
echo -e "\033[1mSome Text\033[0m"
그렇지 않으면 터미널의 다음 줄도 굵게 표시됩니다.
\033
당신이 사용할 수있는 \e
것처럼echo -e "\e[1msome text\e[0m"
이론적으로 그렇게 :
# BOLD
$ echo -e "\033[1mThis is a BOLD line\033[0m"
This is a BOLD line
# Using tput
tput bold
echo "This" #BOLD
tput sgr0 #Reset text attributes to normal without clear.
echo "This" #NORMAL
# UNDERLINE
$ echo -e "\033[4mThis is a underlined line.\033[0m"
This is a underlined line.
그러나 실제로는 대신 "고강도"색상으로 해석 될 수 있습니다.
(출처 : http://unstableme.blogspot.com/2008/01/ansi-escape-sequences-for-writing-text.html )