Aru*_*gal 0 perl file-io grep pipe while-loop
我在Perl .pl文件中有以下代码。您是否认为此代码有任何问题(我不明白它的工作方式,因为第二行中有一个“ |”字符,而后面没有命令)
while ( $temp ne "" ) {
open( PS, "ps -ef | grep deploy.sh | grep ssh | grep -v grep|" );
$temp = <PS>;
close(PS);
print "The Deploy scripts are still running. Now sleeping 20\n";
sleep 20;
}
Run Code Online (Sandbox Code Playgroud)
那个流浪 这是Perl所说的一种方式,您希望该命令的输出可用于您的程序。有几种等效形式。
在这里看看:open-perldoc.perl.org。特别是在行上说:
open(FOO, "cat -n '$file'|");
Run Code Online (Sandbox Code Playgroud)
open(my $FOO, "foo");
Run Code Online (Sandbox Code Playgroud)
打开文件进行阅读,而
open(my $FOO, "foo |");
Run Code Online (Sandbox Code Playgroud)
告诉 Perl 这foo是一个要运行的命令,其输出将通过管道传输到文件句柄$FOO。