"COLOR" 환경 변수는 무엇입니까? [폐쇄]

"COLOR" 환경 변수는 무엇입니까? [폐쇄]

그 뒤에 숨겨진 역사가 무엇이며 $COLOR왜 아무도 그것을 사용하지 않는지,사용해도 안전한가요?, 그리고 그것이 무엇을 위해 사용되어야 하는지.

  1. COLOR="1""Linux v2 Debian VM용 Windows 하위 시스템"에 있는 이유는 무엇입니까 ? 일부 사용자 정의 스크립트를 제외하고 내 시스템에는 쉘 rc 스크립트가 없습니다 alias.

  2. 왜?GitHub는 그것을 사용하지 않습니다, 그러나 이 혼란은: NO_COLOR, CLICOLOR, CLICOLOR_FORCE?

세상에 현명한 유닉스 전문가가 있나요? 미리 감사드립니다.

답변1

보시다시피 이 영역에는 표준화가 없습니다. 프로그램이 색상을 사용해야 하는지 여부를 알 수 있도록 환경을 표준화하는 것에 대한 일부 논의(그리고 최근 일부)가 있었지만 이러한 제안은 문제의 많은 부분을 해결하지 못하고 새로운 환경 변수만 생성할 뿐입니다.

따라서 각 프로그램을 확인하여 색상을 처리하는 방법을 확인하십시오. 좋은 프로그램은 TERM을 확인한 다음 터미널이 무엇을 할 수 있는지(라이브러리 사용) 질문하고 콘솔이나 파이프/파일에 쓰고 있는지도 확인해야 합니다. 하지만 문제가 있습니다. 파이프라인으로 전송하면 다른 색상을 처리하는 것이 좋을 때도 있지만 그렇지 않을 때도 있습니다. 예를 들어, 프로그램 결과를 grep 으로 파이프하고 싶을 수 있으며 grep, grep 은 일치하는 문자열의 색상을 지정합니다(그러나 첫 번째 프로그램에서는 색상을 쓰는 것을 허용하지 않습니다). 반면에 diff우리 less는 색상을 표시하는 대신 색상을 파이프하기 위해 diff가 필요합니다. 따라서 일반적인 환경 변수 솔루션은 완벽하지 않습니다.

Microsoft에는 Unix와 같은 자체 방식이 없기 때문에 일부 이식 가능한 프로그램에는 문제를 해결하는 제3의 방법이 있어 혼란이 가중됩니다.

그리고 귀하의 질문은 추가적인 문제를 가져올 수 있습니다. 색상 프롬프트를 갖기 위해 과거에는 .bashrc 스크립트에서 변수를 사용할 수 있습니다.방법을 제공많은 환경 변수(rc 파일은 실제 환경에서 왔으며 새 환경에서 실행되지 않음). 따라서 터미널에서 색상 처리 논리를 단순화하기 위해 COLOR를 얻을 수 있습니다(연결 방법에 따라 다름).

그래서 그것은 엉망이다. 어쨌든, 데비안의 훌륭한 정책 중 하나(그리고 Linux 초기에는 우리가 생각했던 것보다 상황이 훨씬 더 복잡했습니다)는 프로그램을 실행하는 데 필요한 환경 변수가 없다는 것이었습니다. 따라서 이 환경 변수를 무시하십시오. 아무것도 필요하지 않습니다.

따라서 각 프로그램(맨 페이지)을 확인해야 하며, 각 프로그램은 COLOR를 사용하는지 여부와 이를 해석하는 방법을 알려주어야 합니다. 표준화되어 있지 않아 답변을 드릴 수 없습니다. (구글링해도 site:manpages.debian.org "COLOR"내용이 너무 많아서 별 도움이 안 됩니다.)

관련 정보