我使用下面的代码从一个Perl脚本执行ClearCase的声明“接受”。
$acceptA = `accept $Component`;
执行后,我的perl脚本里面,$acceptA
的值是空白。
这条线的执行过程中,屏幕上显示的文字是:“错误您没有权限接受这个工作。”
如何解读这一行?我认为这将返回到变量$acceptA
因为它与“cleartool签入”命令呢?
因为我不知道ClearCase和如何接受的作品,我只能猜测。看到它是如何错误信息,它可能被写入STDERR,而不是STDOUT和反引号只捕获执行的命令的标准输出。在这种情况下,STDERR重定向命令STDOUT会工作。尝试
$acceptA = `accept $Component 2>&1`
,看看是否能在捕捉错误的情况下,输出也有效。
我最后重定向到SYSERR,我可以读/写的输出文件。
开放STDERR, “> /ellipse/el6.3.3_ry_sup/src/0/$logfile”
所有这一切都显示在屏幕上的系统命令的一部分的错误信息,走进$日志文件。
我也可以添加以下文SYSERR:打印STDERR“\ nAccepting $组件”;
感谢所有帮助。