我想执行以下与 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
命令。