如何更改perl用于system(),qx //和朋友的系统shell?

时间:2016-02-27 10:01:29

标签: windows perl

我想替换system的shell perl用途;例如,用bash替换Windows上的cmd.exe。是否有支持的机制告诉perl使用什么shell?

1 个答案:

答案 0 :(得分:6)

Perl忽略COMSPEC的值,但您可以将环境变量PERL5SHELL设置为shell程序文件的路径,以及您要使用的任何开关。例如

C:\Windows\System32\cmd.exe /d /c

Perl将使用它来运行您传递给qx//system($command)的命令字符串,其中$command包含shell元字符

但是默认情况下Windows上没有bash shell,你必须先安装Cygwinwin-bash之类的内容才能使用bash类型的shell