更改hadoop命令的Powershell前景颜色或抑制信息

时间:2016-06-03 10:51:03

标签: powershell hadoop

我正在创建一个使用一些hadoop命令的测试堆栈,更具体地说,我是从s3复制一些文件并格式化namenode。

我正在尝试抑制输出,将其发送到文件或更改显示的文本的颜色,因为它当前显示为红色。

目前我正在处理这个问题:

    #Copy the models that are required for the streaming job - AWS installed on AMI.
$HOST.UI.RawUI.ForegroundColor  = "Yellow"
write-host "Updating the jar with application.conf"
& 7z u c:\jarname.jar c:\jarname\application.conf 

write-host "Downloadingfrom s3" 
& hadoop fs -cp s3n://files /tmp
$HOST.UI.RawUI.ForegroundColor  = "White"

前景色选项是最近添加的,并且不会被命令遵守,因为它仍然以红色显示。

原因是测试人员将红色视为错误。

任何建议都会很棒,提前谢谢

2 个答案:

答案 0 :(得分:1)

- 如果唯一的问题是使输出相当漂亮,前景颜色将起作用,但是对于使用非默认配置的任何人来说它仍然看起来很奇怪。理想情况下,您希望将错误流的输出重定向到标准输出流,您可以像这样做

& hadoop fs -cp s3n://files /tmp > 4>&1

您可以在此处找到有关流重定向的其他信息 - https://blogs.technet.microsoft.com/heyscriptingguy/2014/03/30/understanding-streams-redirection-and-write-host-in-powershell/

答案 1 :(得分:0)

你需要像这样使用写主机-ForegroundColor

write-host "Updating the jar with application.conf" & 7z u c:\jarname.jar c:\jarname\application.conf -ForegroundColor Yellow