BSD(및 Linux) tput - 상호 운용 가능한 기본 색상 설정

BSD(및 Linux) tput - 상호 운용 가능한 기본 색상 설정

누구나 할 수 있습니다 *GUI를 갖춘 BSDBSD 시스템에서 다음 콘텐츠가 올바르게 실행되는지 확인해주세요.

더미 *BSD 테스트 상자를 만들려고 했지만 결국 실패했습니다. 그래서 tput*BSD에서 올바른 순서를 얻기 위해 사용 가능한 리소스를 모두 소모했습니다 ... 감사합니다!


#!/bin/sh

if tput setaf > /dev/null 2>&1; then
    # Linux tput
    tput_number_of_colors=$(tput colors)
    tput_cmd_set_fg_color='tput setaf'
    tput_bold=$(tput bold)
    tput_reset=$(tput sgr0)
elif tput AF > /dev/null 2>&1; then
    # BSD tput
    tput_number_of_colors=$(tput Co)
    tput_cmd_set_fg_color='tput AF'
    tput_bold=$(tput smso)
    tput_reset=$(tput me)
else
    # black & white console, or no tput
    tput_number_of_colors=2
    tput_cmd_set_fg_color=
    tput_bold=
    tput_reset=
fi

tput_test ()
# this function uses the above to test tput capability of the terminal
{
    { command -v tput && [ "$tput_number_of_colors" -ge 8 ] && $tput_cmd_set_fg_color 1 && echo "$tput_bold"; } > /dev/null 2>&1
}

if tput_test; then
    # example of bold color definition
    color_red=$tput_bold$($tput_cmd_set_fg_color $color_red_id)
fi

답변1

아니요:s/smso/so/(termcap 이름은 항상 2자입니다). 이것용어 정보(5)매뉴얼 페이지는 귀하의 질문에 대한 답변을 제공하는 곳입니다.

매뉴얼 페이지에는 다음이 표시됩니다.

      enter_bold_mode             bold      md     turn on bold (extra
                                                   bright) mode

~하도록 하다md여는 데 사용됩니다용감한모델. smso(용어 정보) 또는so(termcap) 열림하이라이트 모드, 나중에 볼 수 있습니다매뉴얼 페이지반드시 같지는 않음용감한:

터미널에 하나 이상의 디스플레이 속성이 있는 경우 다양한 방법으로 이러한 속성을 나타낼 수 있습니다. 표시 형식을 선택해야 합니다. 하이라이트 모드는 오류 메시지 및 기타 눈길을 끄는 콘텐츠를 강조하기 위한 보기 쉬운 고대비 형식을 나타냅니다. (선택할 수 있는 경우,반전 영상추가하다반빛좋거나,반전 영상) 진입 및 퇴장 순서 하이라이트 모드 다음과 같이 주어진다smso그리고rmso, 각각. 코드가 다음으로 변경되거나 변경된 경우하이라이트 모드 TVI 912 및 Teleray 1061처럼 화면에 하나 또는 두 개의 공백을 남겨둔 다음 xmc남은 공간이 몇 개인지 알려줘야 합니다.

관련 정보