Je voudrais remplacer le shell perl utilise pour le system
; par exemple pour remplacer cmd.exe
sur Windows avec bash. Existe-t-il un mécanisme pris en charge pour indiquer à perl quel shell utiliser?
Perl ignore la valeur de COMSPEC
, mais vous pouvez définir la variable d’environnement PERL5SHELL
sur le chemin d’access à un fichier de programme shell, avec tous les commutateurs que vous souhaitez utiliser. Par exemple
C:\Windows\System32\cmd.exe /d /c
Perl utilisera ceci pour exécuter les chaînes de commande que vous passerez à qx//
et à system($command)
où $command
contient des métacaractères de shell
Mais il n’y a pas de shell bash sur Windows par défaut, et vous devrez installer quelque chose comme Cygwin ou win-bash avant de pouvoir utiliser un shell de type bash.