如何使用我的$opt变量来执行Perl的qx函数?
之前(作品):
my @df_output = qx (df -k /tmp);我想使用-k、-g或-H
my @df_output = qx (df -$opt /tmp);发布于 2011-06-17 05:19:11
你所拥有的应该是可以工作的,但是:永远不要使用qx。它既古老又危险;您提供给它的任何东西都要经过shell,因此很容易受到shell注入的攻击,或者如果/bin/sh不是您所期望的那样,就很容易遇到意外。
使用多参数形式的open(),它完全绕过了外壳。
open my $fh, '-|', 'df', "-$opt", '/tmp' or die "Can't open pipe: $!";
my @lines = <$fh>; # or read in a loop, which is more likely what you want
close $fh or die "Can't close pipe: $!";发布于 2014-08-29 11:12:22
试着使用反斜杠\$opt,它是有效的。
https://stackoverflow.com/questions/6378684
复制相似问题