如何取得環境變數?

在ant中,要取得環境變數可以透過environment property。讓我們直接看sample code:
假設我們的系統變數如下(在cmd中執行set):

PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\TonyLin\AppData\Local\Temp
TMP=C:\Users\TonyLin\AppData\Local\Temp
USERDOMAIN=TonyLin-PC
USERNAME=TonyLin
USERPROFILE=C:\Users\TonyLin
VBOX_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
windir=C:\Windows


假設我們想存取windir,在ant中我們可以這樣寫:

<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="test env">
	<property environment="env"/>
	<target name="test env">
  		<echo>${env.windir}</echo>
  	</target>
</project>


執行結果如下:

Buildfile: D:\Workspace\AntPractice\build.xml
test env:
     [echo] C:\Windows
BUILD SUCCESSFUL
Total time: 1 second


是不是很簡單呢? 唯一需要注意的是: 這是有大小寫區分,以%PATH%為例。在windows cmd中,輸入echo %PATH%或%Path%都能夠取得這個系統變數,但在ant中使用${env.PATH}就取不到了!如果在windows cmd中下set,你可以發現它應該Path;在linux下則是PATH。以PATH而言,在windows必須使用${env.Path},linux則是${env.PATH}。在使用時千萬注意系統變數的大小寫喔!