IT

Bash에서 굵은 텍스트를 어떻게 출력합니까?

lottoking 2020. 4. 25. 09:28
반응형

Bash에서 굵은 텍스트를 어떻게 출력합니까?


화면에 텍스트를 인쇄하는 Bash 스크립트를 작성 중입니다.

echo "Some Text"

텍스트를 포맷 할 수 있습니까? 대담하게하고 싶습니다.


가장 호환 가능한 방법은 tput터미널에 보낼 올바른 시퀀스를 찾는 것입니다 .

bold=$(tput bold)
normal=$(tput sgr0)

당신은 변수 사용할 수 있습니다 $bold$normal형식 일에를 :

echo "this is ${bold}bold${normal} but this isn't"

준다

이것은 대담 하지만 이것은 아닙니다


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[1mYOUR_STRING\033[0m'

설명:

  • echo -e--e옵션은 이스케이프 된 (백 슬래시) 문자열이 해석됨을 의미합니다.
  • \ 033- 이스케이프 된 시퀀스는 스타일의 시작 / 끝을 나타냅니다.
  • 소문자 m- 시퀀스의 끝을 나타냅니다
  • 1- 굵은 체 속성 (자세한 내용은 아래 참조)
  • [0m- 모든 속성, 색상, 서식 등을 재설정합니다.

가능한 정수는 다음과 같습니다.

  • 0- 보통 스타일
  • 1- 굵게
  • 2- 희미
  • 3- 이탤릭체
  • 4- 밑줄
  • 5- 깜박임
  • 7-
  • 8- 보이지 않는

이론적으로 그렇게 :

# 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 )

참고 URL : https://stackoverflow.com/questions/2924697/how-does-one-output-bold-text-in-bash

반응형