명령이 터미널에 쓰는 스트림을 기반으로 명령 출력에 bash 색상을 지정하는 방법을 찾고 있습니다. 각 스트림에 색상을 지정하는 방법이 있나요?
예를 들어
stdout -> regular color
stderr -> red
program created streams that write to the terminal -> blue
답변1
귀하의 요구 사항과는 다르지만 누군가가 stdout/stderr을 색상별로 구별하고 싶어했던 이 이전 질문을 읽어 볼 가치가 있습니다.
답변2
가지다:
https://github.com/sickill/stderred
또는 다음 명령을 사용하여 bash에서 이 작업을 수행할 수 있습니다.
rederror() { (tput setaf 1; cat ; tput sgr0) >&2; }
#Example
someCommand() { echo normal; echo error >&2; }
someCommand 2> >( rederror )
나는 bash에서 파란색으로 터미널로 들어가는 비표준 출력을 설정할 수 없다고 생각합니다. stderred에 사용된 방법이 가능해야 합니다(그러나 stderr에만 색상을 적용한다고 생각합니다).