我有一个scneario,我必须执行一个java程序&为此,我必须首先设置类path和所有在单个perl程序下调用。 我正在尝试下面的命令不起作用:
$command1="echo " First command""; $command2="echo " Second command""; system("$command1;$command2");
以上命令在LINUX中正常工作,但不在Windows中。 请帮我执行这个。
如何在Linux中使用Perl中的fcgi的unix域套接字的抽象名称?
我怎样才能得到脚本的输出复制到Windows剪贴板?
Perl的CGI脚本从cmd工作,但不是从浏览器
如何从Linux中的Perl脚本访问sql Server数据库?
如何为使用fastcgi和perlbrew在Nginx上运行的Perl催化剂应用程序创buildinit脚本
在大多数平台上,
system($shell_command);
手段
system('sh','-c',$shell_command);
在Windows上,它意味着更接近
system('cmd','/x','/c',$shell_command);
选项1
继续使用bourne shell命令,但需要明确指定bourne shell。
system('sh','echo 1 ; echo 2');
这是不可能的,因为计算机不太可能安装了Bourne Shell。
选项2
为本地shell使用正确的语法。
if ($O eq 'MSWin32') { system('echo 1 & echo 2'); } else { system('echo 1 ; echo 2'); }
选项3
呼叫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");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。