반응형
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
반응형
'IT' 카테고리의 다른 글
CSS – 백분율 높이가 왜 작동하지 않습니까? (0) | 2020.04.25 |
---|---|
디렉토리 트리에서 모든 심볼릭 링크를 찾으려면 어떻게합니까? (0) | 2020.04.25 |
iOS 7.0 및 시스템 성능 저하에서 유효하지 않은 컨텍스트 0x0 (0) | 2020.04.25 |
문자열을 나누는 방법과 구분 기호를 유지하는 방법은 무엇입니까? (0) | 2020.04.25 |
QuotaExceededError : Dom exception 22 : 할당량을 초과 한 스토리지에 무언가를 추가하려고했습니다. (0) | 2020.04.25 |