linux - "more"支持颜色的命令选项?

标签 linux shell command-line colors ncurses

<分区>

这是我在 Linux 中最讨厌的 10 个小问题列表。我喜欢终端中的彩色输出:它很漂亮,阅读时也很有用。

我在新系统上做的第一件事是为 lsgrep 设置别名以显示彩色输出,第二件事是安装 vim htop

我同时使用 Gentoo 和 Ubuntu,我看到 Gentoo 的包管理器 emergeapt-get/aptitude 具有更高的可读性,因为它使用比后者多得多的颜色输出。

因此,每当我必须使用 more 管道传输 emerge 命令时,所有颜色都会丢失,我必须将注意力集中在每一行上,以免遗漏任何重要信息.

我可以理解像 more 这样的基本命令不应该依赖于 ncurses(有人可能会争辩说我们也有 less,所以两者之一甚至可能是颜色友好的),但为什么没有 famous 替代 more 支持颜色,就像 vi/vim, top/htop 等?

感谢任何提示。

最佳答案

大多数可以输出颜色的命令都有一个选项可供选择:

  • ON:始终输出颜色
  • OFF:从不输出颜色
  • AUTO:当且仅当输出是终端时才显示颜色

许多命令在颜色自动模式下自动工作。 emerge 就是这种情况。这就是为什么在通过管道输出时没有颜色:pioe 不是终端。

解决方案是告诉 emerge 无条件输出颜色。当然,还要告诉 less 不要过滤它们。

尝试:

emerge --color y | less -R

关于linux - "more"支持颜色的命令选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10776977/

相关文章:

linux - 从在 Linux KornShell 脚本中运行的 SAS 程序收集返回码和标准输出字符串

python - python 的 `os.system` 会抛出异常吗?

windows - 如何在正常启动后触发可启动 CD 的启动过程?

linux - 动态链接与静态链接与 PIC 与非 PIC

php - shell 脚本劫持了我的 .htaccess 文件

linux - 从脚本调用 make 时为 "make -j 4: command not found"

java - 执行命令并提示输入 YES

linux - 这个命令在做什么? sed

linux - 在 Shell 脚本 (wget) 中使用 '

android - ActionBarSherlock 4.2 的构建问题