标签: windows perl
我想替换system的shell perl用途;例如,用bash替换Windows上的cmd.exe。是否有支持的机制告诉perl使用什么shell?
system
cmd.exe
答案 0 :(得分:6)
Perl忽略COMSPEC的值,但您可以将环境变量PERL5SHELL设置为shell程序文件的路径,以及您要使用的任何开关。例如
COMSPEC
PERL5SHELL
C:\Windows\System32\cmd.exe /d /c
Perl将使用它来运行您传递给qx//和system($command)的命令字符串,其中$command包含shell元字符
qx//
system($command)
$command
但是默认情况下Windows上没有bash shell,你必须先安装Cygwin或win-bash之类的内容才能使用bash类型的shell