首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用变量执行Perl qx函数

如何使用变量执行Perl qx函数
EN

Stack Overflow用户
提问于 2011-06-17 05:13:10
回答 2查看 13.6K关注 0票数 6

如何使用我的$opt变量来执行Perl的qx函数?

之前(作品):

代码语言:javascript
复制
my @df_output = qx (df -k /tmp);

我想使用-k-g-H

代码语言:javascript
复制
my @df_output = qx (df -$opt /tmp);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-17 05:19:11

你所拥有的应该是可以工作的,但是:永远不要使用qx。它既古老又危险;您提供给它的任何东西都要经过shell,因此很容易受到shell注入的攻击,或者如果/bin/sh不是您所期望的那样,就很容易遇到意外。

使用多参数形式的open(),它完全绕过了外壳。

代码语言:javascript
复制
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: $!";
票数 8
EN

Stack Overflow用户

发布于 2014-08-29 11:12:22

试着使用反斜杠\$opt,它是有效的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6378684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档