在运行Ruby脚本时更改bash终端输出颜色
我想简单地改变我的终端输出颜色,运行一个Ruby脚本,以便stdout以改变的颜色打印,“睡眠”一秒,然后再将其更改。 我知道如何设置颜色,如提示:
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需要一个我现在记不起来的名字的图书馆/gem),使用你在bash中使用的普通代码,例如
puts "\e[31m etc Your text here."
要重置为正常显示:
puts "\e[0m"
调整味道。
您还可以使用Term Ansicolor gem从正在运行的脚本中更改它。
也可以使用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
这个答案是从Colorized Ruby输出中复制的