ソースが標準出力が端末ではないことを検出した場合、色がオフになっている場合は、ソースに関係なくカラー出力をファイルに保存する方法は?
答え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.