programing

Bash에서 굵은 글씨를 어떻게 출력합니까?

i4 2023. 5. 6. 14:04
반응형

Bash에서 굵은 글씨를 어떻게 출력합니까?

화면에 텍스트를 출력하는 Bash 스크립트를 작성하고 있습니다.

echo "Some Text"

텍스트 서식을 지정할 수 있습니까?대담하게 하고 싶습니다.

이 작업을 수행하는 가장 호환되는 방법은 다음과 같습니다.tput터미널로 전송할 올바른 시퀀스 검색:

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

그런 다음 변수를 사용할 수 있습니다.$bold그리고.$normal형식 지정하기

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

기브즈

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

문자열에 스타일을 적용하려면 다음과 같은 명령을 사용할 수 있습니다.

echo -e '\033[1mYOUR_STRING\033[0m'

설명:

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

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

  • 0 - 일반 스타일
  • 1 - 굵은 글씨
  • 2 - 어둡다
  • 3 - 이탤릭체
  • 4 - 밑줄 표시
  • 5 - 깜박임
  • 7 - 역방향
  • 8 - 보이지 않음

사용자가 포맷 지원을 명시적으로 해제하지 않은 vt100 호환 단말기에서 bash가 실행되고 있다고 가정합니다.

먼저 의 특수 문자에 대한 지원을 설정echo,사용.-e선택.나중에 ansi 이스케이프 시퀀스를 사용합니다.ESC[1m예:

echo -e "\033[1mSome Text"

ansi 이스케이프 시퀀스에 대한 자세한 내용은 다음을 참조하십시오. ascii-table.com/ansi-escape-sequences-vt-100.php

이와 같은 이론에서:

# 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

반응형