




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、今天又學了環(huán)境變量的設置,感受比較深一些,首先把我從網(wǎng)上看到的知道和大家分享一下。環(huán)境變量是和Shell緊密相關的,用戶登錄系統(tǒng)后就啟動了一個Shell。對于Linux來說一般是bash,但也可以重新設定或切換到其它的Shello對于UNIX,可能是CShelll。環(huán)境變量是通過Shell命令來設置的,設置好的環(huán)境變量又可以被所有當前用戶所運行的程序所使用。對于bash這個Shell程序來說,可以通過變量名來訪問相應的環(huán)境變量,通過export來設置環(huán)境變量。下面通過幾個實例來說明。1)etc/profile:此文件為系統(tǒng)的每個用戶設置環(huán)境信息,當用戶第一次登錄時,該文件被執(zhí)行.并從/etc/
2、profile.d目錄的配置文件中搜集shell的設置.注:在這里我們設定是為所有用戶可使用的全局變量。2)/etc/bashrc:為每一個運行bashshell的用戶執(zhí)行此文件.當bashshell被打開時,該文件被讀取.3)/.bash_profile:每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該文件僅僅執(zhí)行一次!默認情況下,他設置一些環(huán)境變量,執(zhí)行用戶的.bashrc文件.注:在LINUX下面是代表HOME這個變量的。另外在不同的LINUX操作系統(tǒng)下,這個文件可能是不同的,可能是/.bash_profile;/.bashogin或“profile其中的一種或
3、幾種,如果存在幾種的話,那么執(zhí)行的順序便是:/.bash_profile、/.bashogin、“profile。比如我用的是Ubuntu,我的用戶文件夾下默認的就只有profile文件。4)/.bashrc:該文件包含專用于你的bashshell的bash信息,當?shù)卿洉r以及每次打開新的shell時,該文件被讀取.(注:這個文件是.開頭的,所以在文件夾中被隱藏了)那么我們?nèi)绾翁砑幼约憾x的環(huán)境變量呢?用記事本打開這個文件,然后在里面最后寫上:xiaokang=kangkang然后保存,這樣每次打開一個新的terminal的時候,我們這個變量就生效了。記住,如果你已經(jīng)打開一個terminal,然
4、后你修改了這個文件,那么在這個terminal下是不會生效的。一般情況用戶最好在這里進行修改,但是有時候會覆蓋父級的變量,比如PATH是ROOT設定的,但是如果你在這個文件里面寫了PATH=xx,那么將來所有的PATH都成了xx了,所以我們應該在這個文件中寫為:PATH=$PATH:xx這樣就把原來的和你自己的一起加上了。而且注意在LINUX系統(tǒng)下用:分割表示并列,而不是windo的;3和4都是在用戶目錄下的,他們唯一的不同是:.bash_profile只能在登錄的時候啟動一次。在我的Ubuntu里面這個3文件似乎沒有。5)/.bashogout:當每次退出系統(tǒng)(退出bashshell)時,執(zhí)
5、行該文件.另外,/etc/profile中設定的變量(全局)的可以作用于任何用戶,而/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是父子關系./.bash_profile是交互式、login方式進入bash運行的/.bashrc是交互式non-login方式進入bash運行的通常二者設置大致相同,所以通常前者會調(diào)用后者。好的,總結(jié)一下他們的執(zhí)行方式:當你登錄并且登錄shell是bash時,bash首先執(zhí)行/etc/profile文件中的命令(如果該文件存在),然后它順序?qū)ふ?.bash_profile,/.bashogin或“profile文件,并執(zhí)行找到
6、的第一個可讀文件中的命令當?shù)卿沚ash退出時,它將執(zhí)行/.bashogout文件中的命令.當啟動一個交互的bash時,它將執(zhí)行/.bashrc文件中的命令(如果該文件存在并且可讀).當非交互地啟動以運行一個shell腳本時,bash將查找bash_env環(huán)境變量,確定執(zhí)行文件的名稱.第二篇資料在登錄Linux時要執(zhí)行文件的過程如下:在剛登錄Linux時,首先啟動/etc/profile文件,然后再啟動用戶目錄下的/.bash_profile;/.bash_login或“profile文件中的其中一個(根據(jù)不同的linux操作系統(tǒng)的不同,命名不一樣!!在我的Ubuntu里面只有/.profile
7、),執(zhí)行的順序為:/.bash_profile、/.bashogin、“profile。如果/.bash_profile文件存在的話,一般還會執(zhí)行/.bashrc文件。因為在/.bash_profile文件中一般會有下面的代碼:if-f/.bashrc;then./bashrcfi/.bashrc中,一般還會有以下代碼:if-f/etc/bashrc;then./bashrcfi所以,/.bashrc會調(diào)用/etc/bashrc文件。最后,在退出shell時,還會執(zhí)行/.bash_logout文件。執(zhí)行順序為:/etc/profile-(/.bash_profile|/.bash_login|
8、/.profile)-/.bashrc-/etc/bashrc-/.bash_logout關于各個文件的作用域,在網(wǎng)上找到了以下說明:(1)/etc/profile:此文件為系統(tǒng)的每個用戶設置環(huán)境信息,當用戶第一次登錄時,該文件被執(zhí)行.并從/etc/profile.d目錄的配置文件中搜集shell的設置。(2)/etc/bashrc:為每一個運行bashshell的用戶執(zhí)行此文件.當bashshell被打開時,該文件被讀取。(3)/.bash_profile:每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該文件僅僅執(zhí)行一次!默認情況下,他設置一些環(huán)境變量,執(zhí)行用戶的.
9、bashrc文件。(4)/.bashrc:該文件包含專用于你的bashshell的bash信息,當?shù)卿洉r以及每次打開新的shell時,該該文件被讀取。(5)/.bash_logout:當每次退出系統(tǒng)(退出bashshell)時,執(zhí)行該文件.另外,/etc/profile中設定的變量(全局)的可以作用于任何用戶,而/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是父子關系。(6)/.bash_profile是交互式、login方式進入bash運行的/.bashrc是交互式non-login方式進入bash運行的通常二者設置大致相同,所以通常前者會調(diào)用后者。/e
10、tc/profile和/etc/environment等各種環(huán)境變量設置文件的用處先將exportLANG=zh_CN加入/etc/profile,退出系統(tǒng)重新登錄,登錄提示顯示英文。將/etc/profile中的exportLANG=zh_CN刪除,將LNAG=zh_CN加入/etc/environment,退出系統(tǒng)重新登錄,登錄提示顯示中文。用戶環(huán)境建立的過程中總是先執(zhí)行/etc/profile然后在讀取/etc/environment。為什么會有如上所敘的不同呢?應該是先執(zhí)行/etc/environment,后執(zhí)行/etc/profile。/etc/environment是設置整個系統(tǒng)的
11、環(huán)境,而/etc/profile是設置所有用戶的環(huán)境,前者與登錄用戶無關,后者與登錄用戶有關。系統(tǒng)應用程序的執(zhí)行與用戶環(huán)境可以是無關的,但與系統(tǒng)環(huán)境是相關的,所以當你登錄時,你看到的提示信息,象日期、時間信息的顯示格式與系統(tǒng)環(huán)境的LANG是相關的,缺省LANG=en_US,如果系統(tǒng)環(huán)境LANG=zh_CN,則提示信息是中文的,否則是英文的。對于用戶的SHELL初始化而言是先執(zhí)行/etc/profile,再讀取文件/etc/environment.對整個系統(tǒng)而言是先執(zhí)行/etc/environment。這樣理解正確嗎?/etc/enviroment-/etc/profile-$HOME/.pro
12、file-$HOME/.env(如果存在)/etc/profile是所有用戶的環(huán)境變量/etc/enviroment是系統(tǒng)的環(huán)境變量登陸系統(tǒng)時shell讀取的順序應該是/etc/profile-/etc/enviroment-$HOME/.profile-$HOME/.env原因應該是jtw所說的用戶環(huán)境和系統(tǒng)環(huán)境的區(qū)別了如果同一個變量在用戶環(huán)境(/etc/profile)和系統(tǒng)環(huán)境(/etc/environment)有不同的值那應該是以用戶環(huán)境為準了。環(huán)境變量配置文件在Ubuntu中有如下幾個文件可以設置環(huán)境變量1、/etc/profile:在登錄時,操作系統(tǒng)定制用戶環(huán)境時使用的第一個文件,
13、此文件為系統(tǒng)的每個用戶設置環(huán)境信息,當用戶第一次登錄時,該文件被執(zhí)行。2、/etc/environment:在登錄時操作系統(tǒng)使用的第二個文件,系統(tǒng)在讀取你自己的profile前,設置環(huán)境文件的環(huán)境變量。3、/.bash_profile:在登錄時用到的第三個文件是.profile文件,每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該文件僅僅執(zhí)行一次!默認情況下,他設置一些環(huán)境變游戲量,執(zhí)行用戶的.bashrc文件o/etc/bashrc:為每一個運行bashshell的用戶執(zhí)行此文件.當bashshell被打開時,該文件被讀取.4、/.bashrc:該文件包含專用于你的
14、bashshell的bash信息,當?shù)卿洉r以及每次打開新的shell時,該該文件被讀取。幾個環(huán)境變量的優(yōu)先級123設置永久環(huán)境變量環(huán)境變量配置中,要先刪除.bash_profile中的三行關于.bashrc的定義,然后把環(huán)境變量配置在.bashrc中選擇要使用的java環(huán)境:update-alternatives-configjava要使得剛修改的環(huán)境變量生效:source.bashrc查看環(huán)境變量:env可以放到/etc/bash/bashrc,這樣就是系統(tǒng)級的環(huán)境變量命令1、引言在linux系統(tǒng)下,如果你下載并安裝了應用程序,很有可能在鍵入它的名稱時出現(xiàn)commandnotfound”的提
15、示內(nèi)容。如果每次都到安裝目標文件夾內(nèi),找到可執(zhí)行文件來進行操作就太繁瑣了。這涉及到環(huán)境變量PATH的設置問題,而PATH的設置也是在linux下定制環(huán)境變量的一個組成部分。本文基于RedHat9.0,詳細講解了環(huán)境變量定制的問題。2、變量簡介Linux是一個多用戶的操作系統(tǒng)。每個用戶登錄系統(tǒng)后,都會有一個專用的運行環(huán)境。通常每個用戶默認的環(huán)境都是相同的,這個默認環(huán)境實際上就是一組環(huán)境變量的定義。用戶可以對自己的運行環(huán)境進行定制,其方法就是修改相應的系統(tǒng)環(huán)境變量。3、定制環(huán)境變量環(huán)境變量是和Shell緊密相關的,用戶登錄系統(tǒng)后就啟動了一個Shello對于Linux來說一般是bash,但也可以重新
16、設定或切換到其它的Shell。根據(jù)發(fā)行版本的情況,bash有兩個基本的系統(tǒng)級配置文件:/etc/bashrc和/etc/profile。這些配置文件包含兩組不同的變量:shell變量和環(huán)境變量。前者只是在特定的shell中固定(如bash),后者在不同shell中固定。很明顯,shell變量是局部的,而環(huán)境變量是全局的。環(huán)境變量是通過Shell命令來設置的,設置好的環(huán)境變量又可以被所有當前用戶所運行的程序所使用。對于bash這個Shell程序來說,可以通過變量名來訪問相應的環(huán)境變量,通過export來設置環(huán)境變量。下面通過幾個實例來說明。3.1使用命令echo顯示環(huán)境變量#本例使用echo顯示
17、常見的變量HOME$echo$HOME/home/xiaosu3.2設置一個新的環(huán)境變量$exportHELLO=”Hello!”$echo$HELLOHello!3.3使用env命令顯示所有的環(huán)境變量$envSSH_AGENT_PID=1875HOSTNAME=xiaosu-latopSHELL=/bin/bashTERM=xtermHISTSIZE=10003.4使用set命令顯示所有本地定義的Shell變量$setBASH=/bin/bash3.5使用unset命令來清除環(huán)境變量$exportTEST=”test”#增加一個環(huán)境變量TEST$envIgrepTEST#此命令有輸出,證明環(huán)
18、境變量TEST已經(jīng)存在了TEST=test$unset$TEST#刪除環(huán)境變量TEST$env|grepTEST#此命令無輸出,證明環(huán)境變量TEST已經(jīng)存在了3.6使用readonly命令設置只讀變量如果使用了readonly命令的話,變量就不可以被修改或清除了。示例如下:$exportTEST=”Test.”#增加一個環(huán)境變量TEST$readonlyTEST#將環(huán)境變量TEST設為只讀$unsetTEST#會發(fā)現(xiàn)此變量不能被刪除-bash:unset:TEST:cannotunset:readonlyvariable$TEST=”New”#會發(fā)現(xiàn)此變量不能被修改-bash:TEST:readonlyvariable3.7用C程序來訪問和設置環(huán)境變量對于C程序的用戶來說,可以使用下列三個函數(shù)來設置或訪問一個環(huán)境變量。getenv()訪問一個環(huán)境變量。輸入?yún)?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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能停車場管理系統(tǒng)如何安裝
- 食品包裝機械物流樣本
- 光伏 太陽能光伏發(fā)電
- 電商行業(yè)智能營銷策略及用戶體驗提升方案
- 市場分析報告子項分類表格
- 關于辦公資源采購的申請說明及審批報告書
- 新媒體內(nèi)容創(chuàng)意與運營手冊
- 風險管理與合規(guī)手冊
- 高爾夫運動與球場管理作業(yè)指導書
- 食品加工設備行業(yè)智能化食品加工設備開發(fā)方案
- GB 15603-1995常用化學危險品貯存通則
- FZ/T 07019-2021針織印染面料單位產(chǎn)品能源消耗限額
- 北師大版高中英語必修二《New-Zealand-Fact-File》reading-課件-
- 豎彎鉤的書寫課件
- 幼兒園小班植樹節(jié)課件:《栽樹》
- 初中英語《Unit5-Do-you-remember-what-you-were-doing》教學課件設計
- 幼兒園大班數(shù)學口算練習題可打印
- 關于赴XXX醫(yī)院參觀學習聯(lián)系函
- 小學班會課件-端午節(jié)主題班會(共19張PPT)通用版 PPT課件
- 細菌性痢疾流行病學個案調(diào)查表
- 員工年終述職報告工作總結(jié)PPT模板
評論
0/150
提交評論