0

尝试在pleac.sf.net上找到的示例,我无法在我的WinXP 机器上获得ANSI 颜色的示例(在MacOS 上工作正常)。我发现在我的 WinXP 机器上,在 cygwin 和 DOS 提示符中groovysh --color(和'groovysh --terminal=unix')显示转义码而不是预期的彩色提示符。grep --color在 cygwin 终端中工作得很好。我找不到任何明显的我做错的事情。有任何想法吗?

注意:我使用的是 Groovy 1.6.0

更新:我尝试将 ANSI.sys 添加到Groovy-dev Mailing List中提到的我的 config.nt 中,但它没有解决问题(也尝试重新启动)。

4

4 回答 4

3

我有同样的问题,我的解决方案很丑陋但很简单:管道 groovy 输出到 cygwin cat.exe 假设你的脚本 red.groovy 是:

println "\u001B[31mI'm Red\u001B[0m Now not"

然后从命令外壳

groovy.bat red.groovy | cat

将显示正确的颜色。当然,您可以编写自己的本地代码来处理 ANSI 代码。

于 2012-01-27T13:16:51.063 回答
1

问题是,您还必须将 DOSONLY 添加到您的 CONFIG.NT 以使 ANSI.SYS 驱动程序工作,然后它只适用于模拟 DOS 5.0 的 COMMAND.COM。常规命令提示符 (CMD.EXE) 根本不支持 ANSI 颜色。

我不太了解cygwin如何处理它。

于 2009-09-11T00:33:43.927 回答
0

Groovy 网站说要为 cygwin 执行此操作:

groovysh --terminal=unix    

对于 winxp 命令 shell,据我所知,根本不支持 ANSI,甚至不支持 ansi.sys。仅通过某些 MS API 支持颜色。

于 2009-06-25T21:16:20.030 回答
0

cygwin 中的一种解决方法是启动 xterm 或 rxvt 并在那里运行它。

于 2009-06-26T21:22:36.070 回答