최근 MacPorts를 통해 시스템에 grc(일반 셰이더)를 설치하여 기본적으로 지원하지 않는 많은 명령에 대한 컬러 출력을 얻을 수 있었습니다(아래 스크린샷 참조).
특정 명령이 아닌 모든 명령에 대해 grc를 자동으로 사용하고 싶습니다. 저는 zsh를 쉘로 사용합니다.
본질적 으로 실행할 때 마다 command -parameter 1 2 3
자동 으로 grc command -parameter 1 2 3
.traceroute
grc traceroute
.zshrc의 preexec 및 precmd 구성을 조사했지만 원하는 것을 달성할 수 있는 방법을 찾지 못했습니다.
답변1
승인 행 위젯을 재정의하여 이를 수행할 수 있습니다.
add-grc() { [[ $BUFFER = grc* ]] || BUFFER="grc $BUFFER"; zle .$WIDGET "$@"; }
zle -N accept-line add-grc
그러나 "for i (..)", "var=x", "f() {"... 등과 같은 명령에서는 문제가 발생할 수 있습니다.
답변2
다른 대안. 비슷한 잠재적인 문제:
TRAPDEBUG() { eval "grc $ZSH_DEBUG_CMD"; setopt errexit; }
여기에 게시된 솔루션에 대한 예외를 찾아내려고 하기보다는 "grc"가 필요한 모든 명령에 "별칭"을 사용하겠습니다.
답변3
찾을 수 있는 grc.zsh
이들 중 일부를 사용해 보십시오 .grc
여기. 지원되는 모든 명령에 대한 별칭이 있습니다.
이것 좀 봐스택 오버플로 답변