突出显示终端中的错误

时间:2013-12-05 13:14:54

标签: ruby terminal jekyll rsync

我遇到了Terminal a Jekyll安装的问题,但我没有发现该网站没有通过rsync上传到服务器,因为我没有在输出中看到错误。所以,我在徘徊: 有没有办法让终端检测错误并给它们一个特定的颜色?

我的错误是:

rsync error: unexplained error (code 255) at /SourceCache/rsync/rsync-42/rsync/io.c(452) [sender=2.6.9]

它有其他的东西,但是如果突出显示这条线,我会早点发现它。

2 个答案:

答案 0 :(得分:2)

一般来说,颜色输出是程序的责任,而不是终端。

例如,clang编译器会生成彩色错误和警告消息。

如果您使用的应用程序不支持此功能,则唯一的选择是创建包装器并解析其输出,突出显示不同颜色的错误。例如,colorgcc采用这种方法使GCC编译器输出颜色。

也许您可以抓住该脚本并根据您的需求进行调整?请在此处查看 - https://github.com/colorgcc/colorgcc

此外,如果有错误,应用程序应该以非零退出代码退出。检查它并在出错时写出更大且更明显的消息可能是个好主意。

希望它有所帮助。 祝你好运!

答案 1 :(得分:0)

您可以使用the hilite utility为一个命令启用突出显示错误。它仅适用于您键入hilite的命令 - 它未全局启用 - 但如果您知道或怀疑命令输出错误并且您想要找到它们,它仍然有用。因此,当您使用jekyll构建时,您可以执行以下任何操作:

  • 在构建脚本中将jekyll …更改为hilite jekyll …
  • 尽量记住始终在hilite
  • 之前输入jekyll
  • 正常运行jekyll,但如果其输出或退出代码让您怀疑自己遇到错误,请使用hilite再次运行它以找到它们

在OS X上,您可以使用Homebrewbrew install hilite一起安装hilite