0

我的脚本运行这个命令,它总是给出三个警告。有没有办法过滤掉这些?

my $output = `cleartool mktag -view -tag test -reg win_region -host view_server1 -gpath \\\\view_server\\view_directory1\\test.vws/viewstore/view_directory1/test.vws\` 

警告看起来像这样:

cleartool: warning: The global pathname "blabla" in the non-default region will not be validated
cleartool: warning: Unable to access "blabla": No such file or directory
cleartool: warning: Storage pathname "blabla" may not reside on host
4

1 回答 1

3

假设外部工具写入STDERR您可以告诉外壳程序将其重定向到其他地方。通常的方法是2> /dev/null通过反引号附加到您正在运行的命令。

如果您需要其他警告和错误,请通过重定向捕获STDERR到临时文件(请参阅File::Temp了解如何安全地生成临时文件)2> $temp_file_name,使用 Perl 读取该文件(请参阅File::SlurpIO::All以便于- 使用一个内衬来读取像my @captured_stderr = read_file($temporary_file_name);) 这样的文件,用 Perl 的函数将不需要的行扔掉,然后用)grep将剩余的行输出回。STDERRprint STDERR @captured_stderr

于 2012-12-10T09:36:09.160 回答