이렇게 하면 git status --short
git은 두 개의 빨간색 물음표 앞에 추적되지 않은 파일을 나열합니다.
변수에 저장했다가 나중에 컬러로 인쇄하려고 합니다. 이것은 내 bash 스크립트입니다.
#!/bin/bash
status=$(git status --short)
echo -e "$status"
-e
이 플래그로 인해 bash가 출력에 색상을 입힐 것이라고 생각했지만 작동하지 않습니다.
어떻게 해야 하나요?
편집: 가능한 중복은 이스케이프 문자(특히 ANSI 색상 제어 시퀀스)가 어떻게 작동하는지 묻는 것입니다. 나는 그들이 어떻게 작동하는지 이해한다고 생각합니다. 내 질문은 스크립트 출력에서 이를 보존하는 방법입니다.
답변1
기본적으로 색상을 생성하는 대부분의 프로그램은 파이프나 파일이 아닌 터미널로 출력할 때만 색상을 생성합니다. 일반적으로 말하면 이것은 좋은 것입니다. 그러나 일반적으로 재정의 스위치가 있습니다. 예를 들어, 색상을 쉘 변수에 저장할 수 있습니다 ls
. --color=always
예를 들어:
grep
이 --colors=always
옵션도 지원됩니다.
git의 경우 해당 옵션은 color.ui
구성 설정입니다.
git -c color.ui=always status