Windows的环境变量的递归问题
今天调整PATH路径,无意中发现Windows环境变量的递推法则有点奇怪。
系统变量是完全支持递归的。当然啦,要是弄一个死循环出来,我也不知道会发生什么。
但是用户变量的递归似乎有一点不同。
环境变量是按其名字的字典顺序定义的。若某一用户变量其中包括其它已定义、但顺序靠后的环境变量时,似乎无法正确的递归展开。而系统变量完全不存在这个问题。例如
COMPILERS d:\compilers JAVA_HOME %COMPILERS%\java\jdk1.6.0_10 PATH %JAVA_HOME%\bin;%MINGW%\bin MINGW %COMPILERS%\mingw
则其中JAVA_HOME, MINGW都能顺利展开,但PATH中的%MINGW%却无法展开。把上述定义改为系统变量,就能全部展开。
可能是个bug,求证实或证伪。
你可能会感兴趣
Filed under: 编程题 on November 12th, 2008
