【发布时间】:2010-10-06 04:43:30
【问题描述】:
我有一个通过命令行运行的程序,我想打印出粗体或样式文本,类似于手册页的粗体方式(我想不出一个样式示例)。
如何设置发送到终端的文本样式?
如果有什么不同,我正在运行 MacOSX 终端。
【问题讨论】:
标签: terminal
我有一个通过命令行运行的程序,我想打印出粗体或样式文本,类似于手册页的粗体方式(我想不出一个样式示例)。
如何设置发送到终端的文本样式?
如果有什么不同,我正在运行 MacOSX 终端。
【问题讨论】:
标签: terminal
我相信您想使用ncurses 库来完成此操作。
【讨论】:
您可以查看这个 SO 问题:Colored grep?,它显示了一种简单的方法来为 VT100 终端着色输出(在 MacOSX 上效果很好)
【讨论】:
另一个有用的 SO 问题是:Apply formatting to unix shell,带有指向 ANSI escape codes 的链接,以及来自 shell 的示例。
【讨论】:
您可以使用tput 程序从任何shell 脚本执行此操作,以输出terminfo 代码。奇怪的是,有一个代码可以打开但不能关闭 - 你必须关闭所有东西。可以使用tput smso 和tput rmso 打开和关闭反向视频。
这是一个粗体示例 (/bin/ksh):
print -n "This word is "; tput bold; print -n "bold"; tput sgr0; print "!"
在大多数编程语言中,fork 一个进程并调用tput 比使用ncurses 库(tput 是一个命令行接口)更容易。
【讨论】: