Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl Cleartool接受语句_Perl_Cleartool - Fatal编程技术网

Perl Cleartool接受语句

Perl Cleartool接受语句,perl,cleartool,Perl,Cleartool,我使用以下代码从perl脚本执行ClearCase语句“Accept” $acceptA = `accept $Component`; 执行后,在我的perl脚本中,$accept的值为空 执行此行时屏幕上显示的文本是:“错误,您没有接受此工作的权限。” 我怎么读这行?我以为它会返回变量$accept,就像它使用“cleartool checkin”命令一样?因为我不知道ClearCase以及accept是如何工作的,我只能猜测。看到它是一条错误消息,它可能会被写入STDERR而不是STDOU

我使用以下代码从perl脚本执行ClearCase语句“Accept”

$acceptA = `accept $Component`;
执行后,在我的perl脚本中,
$accept
的值为空

执行此行时屏幕上显示的文本是:“错误,您没有接受此工作的权限。”


我怎么读这行?我以为它会返回变量
$accept
,就像它使用“cleartool checkin”命令一样?

因为我不知道ClearCase以及accept是如何工作的,我只能猜测。看到它是一条错误消息,它可能会被写入STDERR而不是STDOUT,backticks只捕获执行命令的STDOUT。 在这种情况下,将命令STDERR重定向到STDOUT就可以了。试一试

$acceptA = `accept $Component 2>&1`

看看这是否也能在出错时捕获输出。

我最终将SYSERR重定向到一个可以读/写的输出文件

打开STDERR,“>/eliple/el6.3.3\u ry\u sup/src/0/$logfile”

作为系统命令的一部分显示在屏幕上的所有错误消息都进入$logfile

我还可以向SYSERR添加以下内容: 打印标准“\n接受$Component”


谢谢你的帮助

accept$Component
位于“back ticks”内,尽管上面不可见……我不知道ant'accept'ClearCase UCM命令。这是CC ClearQuest工作流命令吗?RTC one呢?是的,它是Unix上的工作流工具。accept命令起作用。团队负责人在程序签入后使用它来接受更改…那么您的脚本是否可能没有由正确的用户执行?(意思是,有足够权限使用
accept
命令的用户)是的,这就是问题所在,但是我希望将错误读入脚本,以便我可以将正确的错误消息写入日志文件…我仍然无法用上述方法处理错误,但我认为您写入STDERR是正确的。。。我要好好玩玩,让你知道。