이러한 LESS_TERMCAP 변수가 Oracle Linux에서 작동하지 않는 이유는 무엇입니까?

이러한 LESS_TERMCAP 변수가 Oracle Linux에서 작동하지 않는 이유는 무엇입니까?

나는 매뉴얼 페이지의 색상을 지정하기 위해 오랫동안 다음 변수를 사용해 왔습니다.

# Colourise man pages
export LESS_TERMCAP_mb=$'\E[1;31m'      # begin bold
export LESS_TERMCAP_md=$'\E[1;36m'      # begin blink
export LESS_TERMCAP_me=$'\E[0m'         # reset bold/blink
export LESS_TERMCAP_so=$'\E[01;44;30m'  # begin reverse video
export LESS_TERMCAP_se=$'\E[0m'         # reset reverse video
export LESS_TERMCAP_us=$'\E[1;32m'      # begin underline
export LESS_TERMCAP_ue=$'\E[0m'         # reset underline
export LESS_TERMCAP_mr=$(tput rev)
export LESS_TERMCAP_mh=$(tput dim)
export LESS_TERMCAP_ZN=$(tput ssubm)
export LESS_TERMCAP_ZV=$(tput rsubm)
export LESS_TERMCAP_ZO=$(tput ssupm)
export LESS_TERMCAP_ZW=$(tput rsupm)

나는 그것들이 내 환경 변수를 엉망으로 만들지 않도록 함수에 넣을 생각입니다. (하지만 그것들은 작동하지 않고 git apply --help작동합니다 man git-apply.)

# Colourise man pages
man() {
  env \
    LESS_TERMCAP_mb=$'\E[1;31m' \
    LESS_TERMCAP_md=$'\E[1;36m' \
    LESS_TERMCAP_me=$'\E[0m' \
    LESS_TERMCAP_so=$'\E[01;44;30m' \
    LESS_TERMCAP_se=$'\E[0m' \
    LESS_TERMCAP_us=$'\E[1;32m' \
    LESS_TERMCAP_ue=$'\E[0m' \
    LESS_TERMCAP_mr=$(tput rev) \
    LESS_TERMCAP_mh=$(tput dim) \
    LESS_TERMCAP_ZN=$(tput ssubm) \
    LESS_TERMCAP_ZV=$(tput rsubm) \
    LESS_TERMCAP_ZO=$(tput ssupm) \
    LESS_TERMCAP_ZW=$(tput rsupm) \
    man "$@"
}

최근에 Oracle Linux를 사용하기 시작했지만 Oracle Linux에서는 작동하지 않습니다. Oracle Linux는 Scientific Linux를 기반으로 하므로(제 생각에는) RHEL 및 CentOS/Fedora와 같은 변형에는 적용되지 않을 수 있습니다.

모든 유형의 Linux에서 작동하도록 하려면 어떻게 해야 합니까?

답변1

독립적으로 또는 기능 정의의 일부로 추가 설정이 필요합니다.

export GROFF_NO_SGR=1

또는

man() {
  env \
    LESS_TERMCAP_mb=$'\E[1;31m' \
    LESS_TERMCAP_md=$'\E[1;36m' \
    LESS_TERMCAP_me=$'\E[0m' \
    LESS_TERMCAP_so=$'\E[01;44;30m' \
    LESS_TERMCAP_se=$'\E[0m' \
    LESS_TERMCAP_us=$'\E[1;32m' \
    LESS_TERMCAP_ue=$'\E[0m' \
    LESS_TERMCAP_mr=$(tput rev) \
    LESS_TERMCAP_mh=$(tput dim) \
    LESS_TERMCAP_ZN=$(tput ssubm) \
    LESS_TERMCAP_ZV=$(tput rsubm) \
    LESS_TERMCAP_ZO=$(tput ssupm) \
    LESS_TERMCAP_ZW=$(tput rsupm) \
    GROFF_NO_SGR=1 \
    man "$@"
}

인용하다:버그 1028764 - 매뉴얼 페이지는 더 이상 less에서 LESS_TERMCAP_*로 색상이 지정되지 않습니다.

관련 정보