端末出力の色を簡単に変更し、Ruby スクリプトを実行して、標準出力がその変更された色で印刷されるようにし、1 秒間「スリープ」してから元に戻したいと思います。プロンプトのように、色を設定する方法を知っています:
PS1="\e[0;36m[\w] \e[m "
これを行うには Bash 関数を作成する必要があると思います。それはどのように見えるでしょうか?
すべての端末の色を表示する Ruby スクリプトを次に示します。ダウンロードするか、以下のコードを実行してください。
def color(index)
normal = "\e[#{index}m#{index}\e[0m"
bold = "\e[#{index}m\e[1m#{index}\e[0m"
"#{normal} #{bold} "
end
8.times do|index|
line = color(index + 1)
line += color(index + 30)
line += color(index + 90)
line += color(index + 40)
line += color(index + 100)
puts line
end
Ruby内で実行できます(Linuxを使用していると仮定します。Windowsには、現時点では名前を思い出せないライブラリ/宝石が必要です)。たとえば、bashで使用する通常のコードを使用します。
puts "\e[31m etc Your text here."
通常の表示にリセットするには:
puts "\e[0m"
好みに合わせて調整してください。
Colorize gemを使用することもできます。
インストール:
sudo gem install colorize
使用法:
require 'colorize'
puts "I am now red.".red
puts "I am now blue.".green
puts "I am a super coder".yellow
この回答は、How can I use Ruby to colorize the text output to a terminal?からコピーされたものです。.
Term Ansicolor gem を使用して、実行中のスクリプト内から変更することもできます。