gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:34:43 24 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 spaces param2 param3

有没有一种优雅的方法可以正确传递参数?

最佳答案

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

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

这也是 system 用法的首选方式,您不必担心“带空格的参数”

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

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