我有一个scneario,我必须执行一个java程序&为此,我必须首先设置类path和所有在单个perl程序下调用。 我正在尝试下面的命令不起作用:
$command1="echo \" First command\""; $command2="echo \" Second command\""; system("$command1;$command2");
以上命令在LINUX中正常工作,但不在Windows中。 请帮我执行这个。
在大多数平台上,
system($shell_command);
手段
system('sh', '-c', $shell_command);
在Windows上,它意味着更接近
system('cmd', '/x', '/c', $shell_command);
继续使用bourne shell命令,但需要明确指定bourne shell。
system('sh', '-c', 'echo 1 ; echo 2');
这是不可能的,因为计算机不太可能安装了Bourne Shell。
为本地shell使用正确的语法。
if ($O eq 'MSWin32') { system('echo 1 & echo 2'); } else { system('echo 1 ; echo 2'); }
呼叫system
两次。
system('echo 1'); system('echo 2');
如果你想使用;
在命令之间你必须调用shell。 这是另一种选择;
my @cmds =( [ "echo", q{" First command"} ], [ "echo", q{" Second command"} ], ); system (@$_) for @cmds;
这是你正在尝试吗?
$a=" echo wasssup people"; $b=" echo hi guys"; system("$a"."$b");