gpt4 book ai didi

Perl:如何将 ARGV 参数传递给另一个脚本?

转载 作者:行者123 更新时间:2023-12-02 21:31:22 25 4
gpt4 key购买 nike

我编写了一个 Perl 脚本来启动另一个程序,我希望它将收到的确切 ARGV 参数传递给启动的程序。

目前我使用此代码:

my $cmd = "script.sh"
my $params_str = "";
foreach my $param (@ARGV) {
$params_str .= " $param";
}

$cmd .= " " . $params_str;
system($cmd);

但恐怕下面的场景会有问题:

>perl script.pl "param with spaces" param2 param3

因为它将调用我的 $cmd ,第一个参数分为 3 个参数,因为引号将被删除:param with space param2 param3

有没有一种优雅的方式来正确传递参数?

最佳答案

system()可以与参数列表一起使用,

system("script.sh", @ARGV);

这也是系统使用的更好方式,你不必担心“带空格的参数”

关于Perl:如何将 ARGV 参数传递给另一个脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22218422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com