我试图在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文件相同,不区分大小写。Titi
和TITI
都是同一变量的名称,可以通过Perl中的$ENV{TITI}
或$ENV{Titi}
来获取其值。同样,命令行上的echo %TITI%
和echo %Titi%
将给出相同的结果。
如果您解释为什么需要区分大小写的环境变量名称,那么我们可能会为您提供帮助。
关于windows - 在Perl中设置区分大小写的Windows环境变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28041494/