我试图在Perl中设置一些区分大小写的Windows环境变量,以便在shell脚本中使用它们。

但是,我注意到,当我尝试使用system命令从Perl调用的shell脚本中使用小写字母并使用Msys运行时,环境变量全部使用大写字母。

例如,以下脚本:

#!perl

system "echo echo TOTO=\$TOTO > toto.sh";
system "echo echo Titi=\$Titi >> toto.sh";
system "echo echo TITI=\$TITI >> toto.sh";
$ENV{'TOTO'}="0+0";
$ENV{'Titi'}="Not toto!";
system("sh toto.sh");

返回(在Msys中运行时)以下输出:
TOTO=0+0
Titi=
TITI=Not toto!

有人知道在Windows中是否可行(即如何设置环境变量Titi而不是TITI)?

谢谢

最佳答案

Windows环境变量标识符与Windows文件相同,不区分大小写。
TitiTITI都是同一变量的名称,可以通过Perl中的$ENV{TITI}$ENV{Titi}来获取其值。同样,命令行上的echo %TITI%echo %Titi%将给出相同的结果。

如果您解释为什么需要区分大小写的环境变量名称,那么我们可能会为您提供帮助。

关于windows - 在Perl中设置区分大小写的Windows环境变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28041494/

10-10 03:12