我的命令:如何參數傳遞給系統命令在Perl
system("start cmd.exe /k C:\\script.pl $arg1 $arg2 $arg3");
不正確地傳遞參數。什麼是正確的方法來做到這一點?
THX
我的命令:如何參數傳遞給系統命令在Perl
system("start cmd.exe /k C:\\script.pl $arg1 $arg2 $arg3");
不正確地傳遞參數。什麼是正確的方法來做到這一點?
THX
調用system
最好的辦法是用一個數組或列表:
my @args = ("start", "cmd.ex", "/k", "C:\\script.pl", $arg1, $arg2, $arg3);
system @args;
system "start", "cmd.ex", "/k", "C:\\script.pl", $arg1, $arg2, $arg3;
與單一字符串system
相比,節省的「如何報價參數」複雜性因爲shell沒有機會解釋它們。另一方面,如果你希望shell執行I/O重定向或管道,你可能不會使用這種機制。
請解釋你期望發生什麼以及實際發生了什麼。定義「正確」和「不正確」 – Arkadiy