0

私のスクリプトはこのコマンドを実行し、常に3つの警告を出します。これらを除外する方法はありますか?

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 :: Temp2> $temp_file_nameを参照) 、Perlでそのファイルを読み取ります(簡単にするには、 File ::SlurpまたはIO::Allを参照してください)。 -)のようなファイルを読み取るために1つのライナーを使用my @captured_stderr = read_file($temporary_file_name);し、Perlの関数で不要な行を破棄しgrep、残りの行STDERRprint STDERR @captured_stderr)で出力します。

于 2012-12-10T09:36:09.160 に答える