版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、環(huán)境變量是一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。例如path,當要求系統(tǒng)運行一個程序而沒有告訴它程序所在的完整路徑時,系統(tǒng)除了在當前目錄下面尋找此程序外,還應到path中指定的路徑去找。用戶通過設(shè)置環(huán)境變量,來更好的運行進程。目錄定義 環(huán)境變量的作用 1. 解決雙系統(tǒng)的軟件共用問題 2. 解決系統(tǒng)運行問題環(huán)境變量設(shè)置方法 常見環(huán)境變量 在命令行中對環(huán)境變量進行編輯的方法 Linux下的環(huán)境變量定義 環(huán)境變量的作用 1. 解決雙系統(tǒng)的軟件共用問題 2. 解決系統(tǒng)運行問題環(huán)境變量設(shè)置方法 常見環(huán)境變量 在命令行中對環(huán)境變量進行編輯的方法 Linux下的環(huán)境變量展開編
2、輯本段定義環(huán)境變量一般是指在操作系統(tǒng)中用來指定操作系統(tǒng)運行環(huán)境的一些參數(shù),比如臨時文件夾位置和系統(tǒng)文件夾位置等。這點有點類似于DOS時期的默認路徑,當你運行某些程序時除了在當前文件夾中尋找外,還會到設(shè)置的默認路徑中去查找。簡單地說這里的“Path”就是一個變量,里面存儲了一些常用命令所存放的目錄路徑。 環(huán)境變量相當于給系統(tǒng)或用戶應用程序設(shè)置的一些參數(shù), 具體起什么作用這當然和具體的環(huán)境變量相關(guān). 比如path, 是告訴系統(tǒng), 當要求系統(tǒng)運行一個程序而沒有告訴它程序所在的完整路徑時, 系統(tǒng)除了在當前目錄下面尋找此程序外, 還應到哪些目錄下去尋找; 再如tc或vc+中, set include=p
3、ath1;path2; 是告訴編譯程序到哪里去找.h類型的文件; 當然不僅僅是指定什么路徑, 還有其它的作用的, 如set dircmd=/4 設(shè)置一個環(huán)境變量的作用是在使用dir命令時會把/4作為缺省的參數(shù)添加到你的dir命令之后, 就像你的每個命令都加了/4參數(shù), 它實際上是給命令解釋程序command設(shè)置的一個環(huán)境變量, 并且是給dir這個內(nèi)部命令設(shè)置的。 DWORD GetEnvironmentVariable(LPCSTR lpName, LPSTR lpBuffer, DWORD dSize), 參數(shù)lpName是你要求查詢的環(huán)境變量的名, lpBuffer是返回你所指定的環(huán)境變量
4、的值的, dSize是告訴這個函數(shù)lpBuffer可以存放多少個字節(jié). 分析本地故障時原因很可能就是因為環(huán)境變量中的默認路徑被刪除的結(jié)果,默認路徑一經(jīng)設(shè)置,當前系統(tǒng)如有程序運行時需要某些DLL或EXE文件,以及Active控件時就會到所有默認路徑中去查找,如果在這些目錄中查找到相應的程序則自動加載,查找不到則報告缺少某某文件的錯誤信息。 編輯本段環(huán)境變量的作用解決雙系統(tǒng)的軟件共用問題很多朋友會在自己的計算機上安裝雙系統(tǒng),例如C盤安裝Windows 98,D盤安裝Windows XP??墒悄承┸浖辉赪indows 98系統(tǒng)中安裝,Windows XP系統(tǒng)中是無法正常使用的,比較麻煩卻有效的
5、方法是再安裝一遍。當我們了解了環(huán)境變量中的用途后就可以很好解決雙系統(tǒng)的軟件共用問題。 解決系統(tǒng)運行問題為什么在Windows 98中安裝了的軟件在Windows XP下無法運行呢(綠色軟件除外)?原因是安裝軟件時往往須要向系統(tǒng)目錄中復制某些文件,而使用另外一個系統(tǒng)時會由于缺少這些文件而無法運行。因此,我們可以通過設(shè)置環(huán)境變量的方法來解決這個問題。 編輯本段環(huán)境變量設(shè)置方法在windows操作系統(tǒng)中可以通過我的電腦-屬性-高級,來設(shè)置系統(tǒng)的環(huán)境變量,然而在此設(shè)置的環(huán)境變量是否在注冊表中具有對應的項呢?答案是肯定的。而在.net 中提供了一個類來獲取系統(tǒng)的環(huán)境變量及其值。 環(huán)境變量分為兩類:用戶變
6、量與系統(tǒng)變量,在注冊表中都有對應的項。 其中用戶變量所在位置: HKEY_CURRENT_USEREnvironment; 系統(tǒng)變量所在位置為:HKEY_LOCAL_MACHINESYSTEMControlSet001 ControlSession ManagerEnvironment。 另外也可以右擊我的電腦高級環(huán)境變量在系統(tǒng)變量里有path選項雙擊打開在原有變量的基礎(chǔ)上添加英文狀態(tài)下的分號然后將路徑名輸入即可。(切記,不要刪除原先的系統(tǒng)變量,只要用分號隔開,然后添加) 編輯本段常見環(huán)境變量%ALLUSERSPROFILE% 局部 返回所有“用戶配置文件”的位置。 %APPDATA% 局部
7、返回默認情況下應用程序存儲數(shù)據(jù)的位置。 %CD% 局部 返回當前目錄字符串。 %CMDCMDLINE% 局部 返回用來啟動當前的 Cmd.exe 的準確命令行。 %CMDEXTVERSION% 系統(tǒng) 返回當前的“命令處理程序擴展”的版本號。 %COMPUTERNAME% 系統(tǒng) 返回計算機的名稱。 %COMSPEC% 系統(tǒng) 返回命令行解釋器可執(zhí)行程序的準確路徑。 %DATE% 系統(tǒng) 返回當前日期。使用與 date /t 命令相同的格式。由 Cmd.exe 生成。有關(guān) date 命令的詳細信息,請參閱 Date。 %ERRORLEVEL% 系統(tǒng) 返回最近使用過的命令的錯誤代碼。通常用非零值表示錯誤
8、。 %HOMEDRIVE% 系統(tǒng) 返回連接到用戶主目錄的本地工作站驅(qū)動器號?;谥髂夸浿档脑O(shè)置。用戶主目錄是在“本地用戶和組”中指定的。 %HOMEPATH% 系統(tǒng) 返回用戶主目錄的完整路徑?;谥髂夸浿档脑O(shè)置。用戶主目錄是在“本地用戶和組”中指定的。 %HOMESHARE% 系統(tǒng) 返回用戶的共享主目錄的網(wǎng)絡(luò)路徑?;谥髂夸浿档脑O(shè)置。用戶主目錄是在“本地用戶和組”中指定的。 %LOGONSEVER% 局部 返回驗證當前登錄會話的域控制器的名稱。 %NUMBER_OF_PROCESSORS% 系統(tǒng) 指定安裝在計算機上的處理器的數(shù)目。 %OS% 系統(tǒng) 返回操作系統(tǒng)的名稱。Windows 2000
9、將操作系統(tǒng)顯示為 Windows_NT。 %PATH% 系統(tǒng) 指定可執(zhí)行文件的搜索路徑。 %PATHEXT% 系統(tǒng) 返回操作系統(tǒng)認為可執(zhí)行的文件擴展名的列表。 %PROCESSOR_ARCHITECTURE% 系統(tǒng) 返回處理器的芯片體系結(jié)構(gòu)。值: x86,IA64。 %PROCESSOR_IDENTFIER% 系統(tǒng) 返回處理器說明。 %PROCESSOR_LEVEL% 系統(tǒng) 返回計算機上安裝的處理器的型號。 %PROCESSOR_REVISION% 系統(tǒng) 返回處理器修訂號的系統(tǒng)變量。 %PROMPT% 局部 返回當前解釋程序的命令提示符設(shè)置。由 Cmd.exe 生成。 %RANDOM% 系統(tǒng)
10、返回 0 到 32767 之間的任意十進制數(shù)字。由 Cmd.exe 生成。 %SYSTEMDRIVE% 系統(tǒng) 返回包含 Windows XP 根目錄(即系統(tǒng)根目錄)的驅(qū)動器。 %SYSTEMROOT% 系統(tǒng) 返回 Windows XP 根目錄的位置。 %TEMP% and %TMP% 系統(tǒng)和用戶 返回對當前登錄用戶可用的應用程序所使用的默認臨時目錄。有些應用程序需要 TEMP,而其它應用程序則需要 TMP。 %TIME% 系統(tǒng) 返回當前時間。使用與 time /t 命令相同的格式。由 Cmd.exe 生成。有關(guān) time 命令的詳細信息,請參閱 Time。 %USERDOMAIN% 局部 返回
11、包含用戶帳戶的域的名稱。 %USERNAME% 局部 返回當前登錄的用戶的名稱。 %UserPrefix% 局部 返回當前用戶的配置文件的位置。 %WINDIR% 系統(tǒng) 返回操作系統(tǒng)目錄的位置。 編輯本段在命令行中對環(huán)境變量進行編輯的方法查看當前可用的所有環(huán)境變量(系統(tǒng)變量用戶變量) set 查看某個環(huán)境變量,如PATH set PATH 添加環(huán)境變量,如xxx=aa set xxx=aa 將環(huán)境變量(如xxx)的值置為空 set xxx= 在某個環(huán)境變量(如PATH)后添加新的值(如d:xxx) set PATH=%PATH%;d:xxx (注:在dos窗口中以命令行方式對環(huán)境變量的操作只對
12、當前窗口的應用有效) 編輯本段Linux下的環(huán)境變量shell環(huán)境依賴于多個文件的設(shè)置。當shell被調(diào)用時,它從兩個初始文件讀取命令。/etc/profile包含了系統(tǒng)變量,它由系統(tǒng)管理員維護,由系統(tǒng)管理用設(shè)置本地系統(tǒng)變量和特殊命令。普通用戶的啟動信息文件($HOME/.bash_project)由各用戶自己維護,該文件可以被修改以實現(xiàn)任何特定的系統(tǒng)初始化。 只有在特定的情況下才讀取profile文件,確切的說是在用戶登陸的時候。當運行shell腳本或subshell以后,就無須再讀profile.雖然所有profile都可選的,但是基本上所有系統(tǒng)都有/etc/profile. 如果定義了變
13、量ENV且已經(jīng)傳遞到環(huán)境中沒所有的bash shell都要讀取并調(diào)用由這個變量制定的文件所包含的命令。這個文件用來定義所有bash shell的特征,而不僅僅是登陸到shell。這個文件的典型的名字是$HOME/,bashrc。 當用(系統(tǒng)管理員)新建用戶時,.bash_profile、bashrc和其他公共的環(huán)境文件模板將復制到/etc/skel這個目錄下面??梢跃庉嬤@些初始化設(shè)置,也可以在此目錄下添加附加的文件。 Example: 一個典型的系統(tǒng)profile(/etc/profile): PATH=$PATH:/usr/qa/tools/bin ENV=$HOME/.bashrc ORA
14、CLE_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 stty intr C cal mesg n 一個典型的用戶 bashrc file (.bashrc): alias dir=ls lf='ls -FC' PSI='$PWS!>' set -o vi 別名和其他bash專用的定義應該放在.b
15、ashrc文件(不應在.bash_profile) 中定義;否則會導致找不到某些命令。 應該記住profile文件和.bashrc文件的區(qū)別:兩個profile都只在系統(tǒng)啟動時被讀取一次,而.bashrc在系統(tǒng)啟動和每次調(diào)用shell的時候都要被讀取。GNU/Linux下面每個程序運行都有一個所謂的運行環(huán)境,這里的環(huán)境實際上就是一組變量的定義。所有的變量和他們的值都是字符串形式表達的。通過轉(zhuǎn)換,通常變量名字都是用大寫字符表達。 對于環(huán)境變量大家都不陌生,例如,我們都很熟悉的HOME這個環(huán)境變量,這個變量指示的當前用戶的個人用戶目錄的路徑。又例如,PATH這個環(huán)境變量,它指示出當前Linux系統(tǒng)
16、搜索的的執(zhí)行文件的路徑列表。 對于我們在Linux下常用的BASH這個shell程序,它有自己的一套管理環(huán)境變量的方法。例如,通過$NAME來訪問相應的環(huán)境變量,通過export來設(shè)置環(huán)境變量,下面是一個實例: hwanglangchao linuxprogram$ echo $HOME /home/hwang hwanglangchao linuxprogram$ export MYNAME="Luster" hwanglangchao linuxprogram$ echo $MYNAME Luster hwanglangchao linuxprogram$ 而在我們的應
17、用程序里面,如果需要訪問一個環(huán)境變量,我們可以通過getenv()這個函數(shù)來實現(xiàn),getenv這個函數(shù)在這個頭文件中聲明。這個函數(shù)的輸入?yún)?shù)是需要訪問的變量名字,得到的返回值是一個字符串,如果所訪問的環(huán)境變量沒有設(shè)置,則會返回NULL。如果需要在程序里面設(shè)置某個環(huán)境變量,則可以使用setenv這個函數(shù),如果是要清除某個特定的環(huán)境變量,則使用unsetenv這個函數(shù)。它們的函數(shù)原型如下: #include char *getenv(const char *name); int setenv(const char *name, const char *value, int overwrite);
18、void unsetenv(const char *name); 值得一提的是,GNU C函數(shù)庫里面有一個特殊的全局的變量,名字叫做environ,這個變量的類型是char *,它所指向的是所有的環(huán)境變量的一個列表,最后是以NULL結(jié)尾。每個字符串都是“VALUE=value”這樣的形式。例如下面的程序可以打印出當前運行環(huán)境里面的所有的環(huán)境變量: #include extern char*environ; int main () char*var; for (var =environ;*var !=NULL;+var) printf (“%s n “,*var); return 0; 注意,如果你需要修改某個環(huán)境變量,不要直接修改environ這個變量,而應該使用setenv或者unsetenv這樣的管理函數(shù)來做這件事情。 一般來說,當一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年四川長江職業(yè)學院高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年中國陶瓷蓋碗市場調(diào)查研究報告
- 2025年中國紗線測濕儀市場調(diào)查研究報告
- 2025年中國玻璃圣誕工藝禮品市場調(diào)查研究報告
- 二零二五年度老舊小區(qū)改造工程承包協(xié)議書4篇
- 2025年度嬰幼兒奶粉行業(yè)數(shù)據(jù)統(tǒng)計分析與市場預測合同4篇
- 2025-2030全球發(fā)動機泵行業(yè)調(diào)研及趨勢分析報告
- 2025至2031年中國藺草產(chǎn)品行業(yè)投資前景及策略咨詢研究報告
- 2025年全球及中國工程車輛滅火系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025至2030年中國等流量澆注機數(shù)據(jù)監(jiān)測研究報告
- 2024年社區(qū)警務(wù)規(guī)范考試題庫
- 2024年食用牛脂項目可行性研究報告
- 2024-2030年中國戶外音箱行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 家務(wù)分工與責任保證書
- 兒童尿道黏膜脫垂介紹演示培訓課件
- 北京地鐵13號線
- 2023山東春季高考數(shù)學真題(含答案)
- 為加入燒火佬協(xié)會致辭(7篇)
- 職業(yè)衛(wèi)生法律法規(guī)和標準培訓課件
- 高二下學期英語閱讀提升練習(二)
- 民事訴訟證據(jù)清單模板
評論
0/150
提交評論