나중에 볼 수 있도록 스크립트 출력의 색상을 유지합니다.

나중에 볼 수 있도록 스크립트 출력의 색상을 유지합니다.

나중에 볼 수 있도록 스크립트의 출력을 저장하고 싶습니다. 그런데 출력물을 파일( )로 저장하고 나중에 보면 출력물을 읽기 쉽게 하기 위해 처음에는 여러 색상으로 출력했는데도 script > some/file색상이 나오지 않습니다 .script

결과 파일은 일반 텍스트이므로 색상을 저장하지 않는 것이 합리적입니다. 그러나 주어진 스크립트를 가져와 나중에 스크립트를 다시 호출하지 않고 동일한 스타일을 사용하여 출력을 재현할 수 있는 방법이 있습니까?

답변1

일부 프로그램(설치한 모든 프로그램 포함)스크립트)는 출력이 터미널인지 파일인지 감지하고 해당 경우 색상을 끕니다. 당신이 실행하는 경우스크립트사용프로그램 script, 이름이 지정된 파일에 모든 문자를 캡처하여 이 문제를 방지합니다.typescript,예를 들어,

script -c 스크립트

(후자는 물론 당신의 것입니다스크립트) 그 다음에

cat typescript

시스템에 따라,script프로그램은 다른 매개변수를 사용할 수 있습니다. 먼저(기본값은typescript)가 그중에 있다script프로그램은 다음과 같이 출력을 작성합니다.

  • Debian/Ubuntu/etc에 있는 것은 "bsdutils"라는 패키지에 있고주문하다사용해야 한다-c"와 같은 옵션script -c 스크립트".

  • 안에BSD시스템, 아니-c옵션 및 명령을 인수로 제공할 수 있습니다.문서,예를 들어,. "script typescript 스크립트".

(아마도) 모든 POSIX 시스템이 지원되지만,script속하지 않는POSIX.

답변2

less -R <filename>.<fileformat>명령을 사용하여 출력 파일을 열 수 있습니다. 색깔이 보여야 하는데...

혹시라도 컬러 에코의 예는 다음과 같습니다.
RED='\033[0;31m'
NC='\033[0m' # No Color
printf "I ${RED}love${NC} Stack Overflow\n"

또는 html 파일을 출력 파일로 사용하고 브라우저에서 열 수 있습니다. (
echo "<div style='color:$COLOR;'>$SOMEVARIABLE</div><br>" > output.html
예를 들어 색상은 16진수 형식이어야 합니다 #040404.)

관련 정보