在stderr的Windows上更改文本输出颜色
发布时间:2020-12-14 01:43:16 所属栏目:Windows 来源:网络整理
导读:我最近发现了一个帖子给出了一个解决方案,让stderr的文本输出为 Linux(bash)的不同颜色 他们创建了以下bash脚本脚本 #!/bin/bash{ $* 213|sed 's,.*,x1B[33mx1B[0m,'2;} 31 这会导致输出在来自stderr时打印黄色文本. stdout仍然打印相同的颜色. 该脚本保存
我最近发现了一个帖子给出了一个解决方案,让stderr的文本输出为
Linux(bash)的不同颜色
他们创建了以下bash脚本脚本 #!/bin/bash { $* 2>&1>&3|sed 's,.*,x1B[33m&x1B[0m,'>&2;} 3>&1 这会导致输出在来自stderr时打印黄色文本. stdout仍然打印相同的颜色. 该脚本保存在名为color的$PATH目录中.这允许我使用make或scons运行脚本,并且它将以黄色显示来自stderr的所有文本. (可以通过将33米改为31米来使文字变红) color make CPU=x64 这对于在编译时发现错误非常有用. 是否有类似的脚本可用于Windows cmd shell? 注意:如果有帮助,我已经在我的Windows计算机上安装了sed.
至于Windows’cmd.exe下对ANSI转义码的支持,请参阅
ansicon.将转发逻辑转换为cmd.exe语法后,我准备了以下color.bat文件:
@Echo Off (((%* 1>&3) 2>&1) | "c:Program Files (x86)GnuWin32binsed.exe" "s," 1>&2) 3>&1 不幸的是,流混合在一起(在某些行上,stdout和stderr中的字符在一行中混合在一起).也许这种行为取决于所使用的sed.exe版本,所以试一试. 如果这不起作用,请考虑使用最低cygwin安装.我测试了你的color.sh脚本,我能够启动一个.bat文件,它可以正常工作而不会混合流.我使用的语法是: ./color.sh cmd /c test.bat (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配
- windows-server-2012 – 在WS2012和RAID中使用存储空间有哪
- 虚拟化 – 如何从物理Windows 2008服务器创建虚拟机服务器映
- windows-server-2008 – 如果我不小心重置了计算机帐户该怎
- windows-8 – 在Windows 8应用程序中保存List的最佳方法是什
- windows-server-2008 – PCI合规性:文件完整性检查程序[已
- login – 我可以根据Microsoft帐户将用户帐户添加到Windows
- iis – 我可以在Windows Azure VMRole中托管网站吗?
- windows-mobile – 安排Windows Mobile应用程序运行
- Windows批处理文件的文件大小和行长度限制