我想简单地改变我的终端输出颜色,运行一个Ruby脚本,以便stdout以改变的颜色打印,“睡眠”一秒,然后再更改它。我知道如何设置颜色,如提示:
PS1="\e[0;36m[\w] \e[m "
我想我需要编写一个bash函数来执行此操作。那会是什么样的?
答案 0 :(得分:2)
这是一个显示所有终端颜色的ruby脚本。 Download it或运行以下代码。
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
答案 1 :(得分:1)
你可以在Ruby中做这件事(假设你在Linux上; Windows需要一个我现在记不起的名字的图书馆/宝石),使用你在bash中使用的普通代码,例如。
puts "\e[31m etc Your text here."
要重置为正常显示:
puts "\e[0m"
调整味道。
答案 2 :(得分:1)
您还可以使用Term Ansicolor gem从正在运行的脚本中更改它。
答案 3 :(得分: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
复制而来的