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



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

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

C:WindowsSystem32cmd.exe /d /c

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

但是默认情况下,Windows上没有bash shell,您必须安装诸如Cygwin或win-bash之类的东西,然后才能使用bash类型的shell

最新更新