我想从Perl脚本执行一个应用程序。
Perl脚本使用变量作为参数调用应用程序,其值为长字符串,其中包含大量空格。
应用程序将这些解释为单独的字符串,但我希望将它们全部作为一个字符串。
以下是Perl脚本中的代码:
$command = "Hello world here i come. Hope this works"
当Perl脚本尝试调用应用程序时
./a.out $command
在我尝试访问argv[1]
的应用程序中,我只得到字符串Hello
。 argv[2]
包含world
,但我希望argv[1]
包含$command
中包含的完整字符串。我该怎么做?
答案 0 :(得分:5)
使用exec的多参数形式
exec "./a.out", $command
通过这种方式,shell不会涉及