環境
變量是在操作系統中一個具有特定名字的對象,它包含了一個或者多個應用
程序所將使用到的信息。例如Windows和DOS操作系統中的path環境變量,當要求系統運行一個
程序而沒有告訴它程序所在的完整路徑時,
系統除了在當前目錄下面尋找此程序外,還應到path中指定的路徑去找。用戶通過設置環境
變量,來更好的運行進程。(
path是一個重要的環境變量)
設置參數
環境
變量相當於給系統或用戶
應用程序設置的一些參數,具體起什么作用這當然和具體的環境變量相關。比如
path,是告訴系統,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還應到哪些目錄下去尋找;再如tc或vc++中,set include=path1;path2; 是告訴
編譯程序到哪里去找.h類型的文件;當然不僅僅是指定什么路徑,還有其它的作用的,如set dircmd=/4 設置一個環境變量的作用是在使用dir
命令時會把/4作為缺省的參數添加到你的dir命令之后,就像你的每個命令都加了/4參數,它實際上是給命令
解釋程序command設置的一個環境變量,並且是給dir這個
內部命令設置的。
DWORD
GetEnvironmentVariable(LPCSTR lpName, LPSTR lpBuffer, DWORD dSize),參數lpName是你要求查詢的環境
變量的名,lpBuffer是返回你所指定的環境變量的值的,dSize是告訴這個
函數lpBuffer可以存放多少個字節。
分析本地故障時原因很可能就是因為環境
變量中的默認路徑被刪除的結果,默認路徑一經設置,當前系統如有
程序運行時需要某些DLL或EXE文件,以及Active控件時就會到所有默認路徑中去查找,如果在這些
目錄中查找到相應的程序則自動加載,查找不到則報告缺少某某文件的
錯誤信息。
軟件共用
很多朋友會在自己的
計算機上安裝雙系統,例如C盤安裝Windows XP,D盤安裝Windows 7。可是某些
軟件往往只在Windows XP系統中安裝,Windows 7系統中是無法正常使用的,比較麻煩卻有效的方法是再安裝一遍。當我們了解了環境
變量中的用途后就可以很好解決雙系統的
軟件共用問題。
系統運行
為什么在Windows XP中安裝了的
軟件在Windows 7下無法運行呢(
綠色軟件除外)?原因是安裝軟件時往往須要向系統
目錄中復制某些文件,而使用另外一個系統時會由於缺少這些文件而無法運行。因此,我們可以通過設置環境
變量的方法來解決這個問題。
常見環境變量
WINDOWS系統
%ALLUSERSPROFILE% 局部 返回所有“
用戶配置文件”的位置。
%CD% 局部 返回
當前目錄字符串。
%CMDCMDLINE% 局部 返回用來啟動當前的 Cmd.exe 的准確
命令行。
%COMPUTERNAME% 系統 返回
計算機的名稱。
%LOGONSEVER% 局部 返回驗證當前登錄會話的
域控制器的名稱。
%NUMBER_OF_PROCESSORS% 系統 指定安裝在
計算機上的處理器的數目。
%PATH% 系統 指定
可執行文件的搜索路徑。
%PROCESSOR_ARCHITECTURE% 系統 返回處理器的芯片體系結構。值: x86,IA64。
%PROCESSOR_IDENTIFIER% 系統 返回處理器說明。
%PROCESSOR_LEVEL% 系統 返回
計算機上安裝的處理器的型號。
%PROCESSOR_REVISION% 系統 返回處理器修訂號的
系統變量。
%RANDOM% 系統 返回 0 到 32767 之間的任意
十進制數字。由 Cmd.exe 生成。
%SYSTEMROOT% 系統 返回 Windows XP 根
目錄的位置。
%TIME% 系統 返回當前時間。使用與 time /t 命令相同的格式。由 Cmd.exe 生成。有關 time
命令的詳細信息,請參閱 Time。
%USERDOMAIN% 局部 返回包含
用戶帳戶的域的名稱。
%USERNAME% 局部 返回當前登錄的用戶的名稱。
%UserProfile% 局部 返回當前用戶的配置文件的位置。
Linux系統
shell環境依賴於多個文件的設置。當shell被調用時,它從兩個初始文件讀取
命令。/etc/profile包含了
系統變量,它由
系統管理員維護,由系統管理員設置本地系統變量和特殊
命令。普通用戶的啟動
信息文件($HOME/.bash_project)由各用戶自己維護,該文件可以被修改以實現任何特定的
系統初始化。
只有在特定的
情況下才讀取profile文件,確切的說是在用戶登陸的時候。當運行shell腳本或subshell以后,就無須再讀profile.雖然所有profile都可選的,但是基本上所有系統都有/etc/profile.
如果定義了
變量ENV且已經傳遞到環境中,則所有的bash shell都要讀取並調用由這個變量制定的文件所包含的
命令。這個文件用來定義所有bash shell的特征,而不僅僅是登陸到shell。這個文件的典型的名字是$HOME/,bashrc。
Example:
一個典型的系統profile(/etc/profile):
PATH=$PATH:/usr/qa/tools/bin
ENV==$HOME/.bashrc
ORACLE_HOME=/
dbs/oracle
ORACLE_SID=qadb
Export PATH ENV ORACLE_HOME ORCAL_SID
Cat /etc/motd
一個典型的用戶profile(.bashrc)
PATH=$PATH:$HOME/bin
TEAM=uvt1224 export TERM
cal
mesg n
一個典型的用戶 bashrc file (.bashrc):
alias dir=ls lf='ls -FC'
PSI='$PWS[!]>'
set -o vi
別名和其他bash專用的定義應該放在.bashrc文件(不應在.bash_profile) 中定義;否則會導致找不到某些
命令。
應該記住profile文件和.bashrc文件的區別:兩個profile都只在系統啟動時被讀取一次,而.bashrc在系統啟動和每次調用shell的時候都要被讀取。
設置方法
在windows
操作系統中可以通過
我的電腦-〉系統屬性-〉高級系統設置->環境變量,來設置系統的環境
變量,然而在此設置的環境變量是否在注冊表中具有對應的項呢?答案是肯定的。而在.net 中提供了一個類來獲取系統的環境
變量及其值。
其中用戶
變量所在位置:
HKEY_CURRENT_USER\Environment;
系統變量所在位置為:\
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001
\Control\Session Manager\Environment。
另外也可以右擊
我的電腦——高級系統設置——環境
變量——在
系統變量里有path選項——雙擊打開——在原有變量的基礎上添加英文狀態下的分號——然后將路徑名輸入即可。(切記,不要刪除原先的
系統變量,只要用分號隔開,然后添加,最后也要加上分號)
編輯方法
在命令行中對環境變量進行編輯的方法
set
查看某個環境
變量,如PATH
set PATH
添加環境
變量,如xxx=aa
set xxx=aa
將環境
變量(如xxx)的值置為空
set xxx=
在某個環境
變量(如PATH)后添加新的值(如d:\xxx)
set PATH=%PATH%;d:\xxx