我想执行以下与 Rational ClearCase 相关的命令。此命令的输出应重定向到文件testout
。
rgy_check -vobs > testout
rgy_check.exe: Error: An unregistered region \<region> was found in
VOB tag entry.
rgy_check.exe: Error: An unregistered region \<region> was found in
VOB tag entry.
...
该文件testout
已创建,但不知何故该文件为空。
grep 也不起作用,它仍然给出原始输出
rgy_check -vobs | grep "06a89"
这些是错误消息。标准是将正常输出写入 STDOUT 流,您可以使用 重定向>
,并将错误消息写入使用 重定向的 STDERR 流2>
。
如果没有重定向,STDOUT 和 STDERR 最终都会出现在终端上,而您无法告诉您什么是什么。
因此,如果您希望错误消息以testout
重定向它们而告终
rgy_check -vobs 2> testout
但是,从您的问题来看,我认为这testout
需要获得正常输出。你可以这样做:
rgy_check -vobs > testout 2> testerr
如果您需要grep
STDERR 流,这是一个小技巧:
rgy_check -vobs 2>&1 > testout | grep something
这将首先将 STDERR 重定向到与 STDOUT 相同的文件描述符,然后将 STDOUT(但不是STDERR)重定向到文件testout
,然后将 STDERR 输出通过管道传输到grep
命令。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句