사용자에게 읽기 쉬운 출력을 제공할 수 있는 내장(bash/gentoo) 기능이 있습니까?

사용자에게 읽기 쉬운 출력을 제공할 수 있는 내장(bash/gentoo) 기능이 있습니까?

나는 사용자에게 읽기 쉬운 출력을 제공하기 위해 다음과 같은 간단한 함수를 사용하고 있습니다. 이제 이 작업을 수행하기 위한 일종의 (gentoo-/bash-) 내장 함수가 있는지 궁금합니다. 이는 바퀴를 "재창조"하는 것처럼 느껴지기 때문입니다. 미리 감사드립니다.

function log
{
        red='\033[0;31m'
        green='\033[0;32m'
        yellow='\033[1;33m'
        term='\033[0m'

        if [ "$1" == "INFO" ]; then
                echo -e "${green}[i] $2 ${term}"
        elif [ "$1" == "WARN" ]; then
                echo -e "${yellow}[w] $2 ${term}"
        elif [ "$1" == "ERROR" ]; then
                echo -e "${red}[e] $2 ${term}"
        fi
}

답변1

당신이 무엇을 원하는지 잘 모르겠지만, 당신의 함수가 어떤 식으로든 포티지와 상호 작용한다면 색상 정의를 사용할 수 있을 것입니다. 에서 man 5 color.map:

VARIABLES
       NORMAL = "normal"
              Defines color used for some words  occuring  in  other  contexts  than  those
              below.

       BAD = "red"
              Defines color used for some words occuring in bad context.

       BRACKET = "blue"
              Defines color used for brackets.

       GOOD = "green"
              Defines color used for some words occuring in good context.

       HILITE = "teal"
              Defines color used for highlighted words.

       INFORM = "darkgreen"
              Defines color used for informational words.

       [...]

       SECURITY_WARN = "red"
              Defines color used for security warnings.

       UNMERGE_WARN = "red"
              Defines color used for unmerge warnings.

       WARN = "yellow"
          Defines color used for warnings.

답변2

원목을 얼룩지게 하는 기능은 내장되어 있지 않지만,

  • Vim의 messages형광펜을 사용하면 로그를 더 쉽게 읽을 수 있으며 특정 키워드("오류", "실패" 등)가 포함된 줄을 빨간색으로 강조 표시할 수도 있습니다.
    노력하다 :setf messages.

  • ccze- 강력한 목재 쉐이더colorize-분명히 색상 기능을 사용자 정의하는 다른 방법이 많이 있습니다.

  • colortail, 어느"기본적으로 꼬리지만 색상을 지원합니다."

  • 그리고 다른 많은 도구들 - 참조이 문제

답변3

포티지 ELogging 활성화를 고려해보세요.

에서 가져옴젠투 위키: 포티지 로그.

안에 /etc/portage/make.conf:

  1. 세트 PORT_LOGDIR, 즉
    PORT_LOGDIR="/var/log/portage"
  2. 세트 PORTAGE_ELOG_CLASSES, 즉
    PORTAGE_ELOG_CLASSES="log warn error"
  3. 세트 PORTAGE_ELOG_SYSTEM, 즉
    PORTAGE_ELOG_SYSTEM="save"

필요한 경우 옵션 3을 다르게 설정할 수도 있습니다.

특정 수신자에게 로그를 메일로 보내려면 메일 모듈을 활성화하고 몇 가지 추가 변수를 설정해야 합니다. 자세한 내용은 /usr/share/portage/config/make.conf.example을 읽어보세요.

관련 정보