2

端末出力の色を簡単に変更し、Ruby スクリプトを実行して、標準出力がその変更された色で印刷されるようにし、1 秒間「スリープ」してから元に戻したいと思います。プロンプトのように、色を設定する方法を知っています:

PS1="\e[0;36m[\w] \e[m "

これを行うには Bash 関数を作成する必要があると思います。それはどのように見えるでしょうか?

4

4 に答える 4

2

すべての端末の色を表示する 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
于 2014-04-21T03:09:22.283 に答える
1

Ruby内で実行できます(Linuxを使用していると仮定します。Windowsには、現時点では名前を思い出せないライブラリ/宝石が必要です)。たとえば、bashで使用する通常のコードを使用します。

puts "\e[31m etc Your text here."

通常の表示にリセットするには:

puts "\e[0m"

好みに合わせて調整してください。

于 2013-04-12T15:06:29.420 に答える
1

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?からコピーされたものです。.

于 2015-05-13T06:07:02.607 に答える
1

Term Ansicolor gem を使用して、実行中のスクリプト内から変更することもできます。

http://flori.github.io/term-ansicolor/

于 2013-04-12T15:09:02.070 に答える