zoukankan      html  css  js  c++  java
  • 使Ruby在OS X的控制台输出中使用颜色

    在使用Ruby向控制台输出文本的时候,很好的Coloring是很有必要的。以下是我找到的如何向OS X的终端中输出着色文本的方法。其实,在Linux下应该也同样适用。

    本来我只需要把找到的博文链接贴出来就好,可惜那博文是在blogspot上,正在为一堵伟大的墙挡着。所以方便起见,我只能全文贴过来。附上原文链接:

    http://craiccomputing.blogspot.com/2010/08/printing-colored-text-in-unix-terminals.html

    Printing Colored Text in UNIX Terminals from Ruby

     
    Outputting text in color in a UNIX console/Xterminal is kind of old school - some might say obsolete - but once in a while it is very useful. One example is the Red/Green coloring of test results. You don't get a lot of options but enough to highlight relevant text.

    The cryptic escape codes are explained in this Wiki page.

    This Ruby script outputs fore and background colors and a couple of the other useful modifiers.
    #!/usr/bin/ruby

    puts "\033[1mForeground Colors...\033[0m\n"
    puts " \033[30mBlack (30)\033[0m\n"
    puts " \033[31mRed (31)\033[0m\n"
    puts " \033[32mGreen (32)\033[0m\n"
    puts " \033[33mYellow (33)\033[0m\n"
    puts " \033[34mBlue (34)\033[0m\n"
    puts " \033[35mMagenta (35)\033[0m\n"
    puts " \033[36mCyan (36)\033[0m\n"
    puts " \033[37mWhite (37)\033[0m\n"
    puts ''

    puts "\033[1mBackground Colors...\033[0m\n"
    puts " \033[40m\033[37mBlack (40), White Text\033[0m\n"
    puts " \033[41mRed (41)\033[0m\n"
    puts " \033[42mGreen (42)\033[0m\n"
    puts " \033[43mYellow (43)\033[0m\n"
    puts " \033[44mBlue (44)\033[0m\n"
    puts " \033[45mMagenta (45)\033[0m\n"
    puts " \033[46mCyan (46)\033[0m\n"
    puts " \033[47mWhite (47)\033[0m\n"
    puts ''
    puts "\033[1mModifiers...\033[0m\n"
    puts " Reset (0)"
    puts " \033[1mBold (1)\033[0m\n"
    puts " \033[4mUnderlined (4)\033[0m\n"
    Note that the exact colors will vary between different terminals. So try it and see.

    The script will show you enough to create your own colored terminal output. But what if you sometimes want your output to go to a terminal (TTY) and other times to a file? In the latter, all the escape codes will give you garbage characters when you view the file. The trick here is to test whether our not your script is writing to a TTY with 'STDOUT.tty?'. If so then add the escape codes, if not then leave them out.
  • 相关阅读:
    《第一行代码》阅读笔记(三十一)——多线程
    《第一行代码》阅读笔记(三十)——MVP(补充)
    《第一行代码》阅读笔记(二十九)——网络框架 OkHttp+Retrofit+Rxjava
    《第一行代码》阅读笔记(二十八)——网络技术(OkHttp+JSON/GSON)
    sql server优化查询速度(子查询)
    sql server 查询字段是否为数字
    Git操作汇总
    解决github下载过慢方式
    InnoDB存储引擎简介
    MySQL主从复制详解
  • 原文地址:https://www.cnblogs.com/Ricky81317/p/2511553.html
Copyright © 2011-2022 走看看