加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何用变量执行Perl qx函数

发布时间:2020-12-15 23:25:12 所属栏目:大数据 来源:网络整理
导读:如何使用$opt变量执行Perl的qx函数? 之前(工作): my @df_output = qx (df -k /tmp); 我想使用-k,-g或-H: my @df_output = qx (df -$opt /tmp); 解决方法 你有什么应该工作,但是:不要使用qx.这是古老而危险的;无论你向它提供什么都通过shell,所以如果/ bi
如何使用$opt变量执行Perl的qx函数?

之前(工作):

my @df_output = qx (df -k /tmp);

我想使用-k,-g或-H:

my @df_output = qx (df -$opt /tmp);

解决方法

你有什么应该工作,但是:不要使用qx.这是古老而危险的;无论你向它提供什么都通过shell,所以如果/ bin / sh不是你想象的那么很容易受到shell注入或者遇到意外.

使用open()的多arg形式,它完全绕过shell.

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: $!";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读