소스가 표준 출력이 터미널이 아니라는 것을 감지하면 색상 지정이 꺼진 경우 소스에 관계없이 색상 있는 출력을 파일에 어떻게 저장할 수 있습니까?
답변1
내가 함께 구성한 다음 스크립트는 트릭을 수행하는 것 같습니다.
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
require 'pty'
PTY.spawn(*ARGV) do |r,w,pid|
begin
while $_ = r.gets
STDOUT.print $_
end
rescue Errno::EIO
end
end
의사 터미널에서 CLI 매개변수를 실행하고 출력을 STDOUT으로 전달합니다.
사용 예:
./script.rb ls --color=auto >| file #file will have them ANSI color code sequences in it because ls did run in a terminal.