更新:我已经解决了这个问题。它与 ANT 提供转义序列有关,虽然它适用于 linux xterm,但 Mac OS X 无法正确解释。可以过滤 ANT 输出以转换这些序列并恢复彩色输出。
这个故事的寓意是这个包装脚本将实现彩色输出:
# cat /workspace/SDK/bin/ant-wrapper.sh
/usr/bin/ant -logger org.apache.tools.ant.listener.AnsiColorLogger "$@" | perl -pe 's/(?<=\e\[)2;//g'
# alias ant='/workspace/SDK/bin/ant-wrapper.sh'
#蚂蚁发布
(输出有很多漂亮的颜色;好吧,也许不那么漂亮,更像是一个复活节彩蛋)
原帖(及调试步骤):
我遇到了关于 AnsiColorLogger 根本不显示颜色的类似问题。我不确定作者所说的“[输出出现]一秒钟然后它就消失了”是什么意思。这似乎是终端上出现的一个奇怪问题。
我的盒子:
# unname -a
Darwin Dave-Dopsons-MacBook-Pro.local 10.7.0 达尔文内核版本 10.7.0:2011 年 1 月 29 日星期六 15:17:16 PST;根:xnu-1504.9.37~1/RELEASE_I386 i386
这是我们正在使用的 ANT 记录器:
http://ant.apache.org/manual/listeners.html#AnsiColorLogger
这是一个相关的论坛帖子(尝试了给出的建议,但无济于事):http://ant.1045680.n5.nabble.com/Macosx-and-AnsiColorLogger-td1355310.html
我做了“ant | less”,我确实看到了转义序列,但仍然没有颜色:
构建文件:/workspace/Words/words_blackberry/build.xml
电调[2;32m
发布:ESC[m
仍然被阻止,如果有人让它在 OSX 上工作,希望得到建议
知道了!
这是彩色 ls 的输出:
# CLICOLOR_FORCE=exfxcxdxbxegedabagacad ls -lGF |较少的
总计 112
-rw-r--r-- 1 ddopson 管理员 6511 5 月 29 日 12:41 build.xml
drwxr-xr-x 6 ddopson admin 204 May 28 23:59 ESC[34meclipse-binESC[mESC[m/
lrwxr-xr-x 1 ddopson admin 35 May 23 21:24 ESC[35mfilesESC[mESC[m@ -> ../artwork/output/blackberry/files/
lrwxr-xr-x 1 ddopson admin 36 May 23 21:20 ESC[35mimagesESC[mESC[m@ -> ../artwork/output/blackberry/images/
注意转义序列的细微差别;他们没有'2;'就像 ANT 一样......
所以要测试这个理论:
ant-logger org.apache.tools.ant.listener.AnsiColorLogger 发布 | sed 's/2;//g'
...输出是彩色的!胜利!