我想简单地更改我的终端输出颜色,运行一个 Ruby 脚本,以便标准输出以更改后的颜色打印,“睡眠”一秒钟,然后将其更改回来。我知道如何设置颜色,例如提示:
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
您可以使用在 bash 中使用的普通代码在 Ruby 中执行此操作(假设您在 Linux 上;Windows 需要一个库/gem,我目前不记得其名称),例如
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
这个答案是从How can I use Ruby to colorize the text output to a terminal?复制而来的?.