$PATH:決定了shell将到哪些目錄中尋找指令或程式,PATH的值是一系列目錄,當您運作一個程式時,Linux在這些目錄下進行搜尋編譯連結
shell下輸出path值:
echo $PATH:
windows是%PATH%;
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>用分号分隔。
需要一行bash指令:
export PATH=$PATH:/usr/locar/new/bin
這條指令的意思為: 使PATH自增:/usr/locar/new/bin,
既PATH=PATH+":/usr/locar/new/bin";
上述方法的PATH 在終端關閉 後就會消失。是以還是建議通過編輯/etc/profile來改PATH,也可以改家目錄下的.bashrc(即:~/.bashrc)。
通常的做法是:
把這行bash指令寫到/root/.bashrc的末尾,
然後當你重新登陸LINUX的時候(應該是linux啟動時就會執行這個檔案),
新的預設路徑就添加進去了。
當然,
也可以直接用指令:
source /root/.bashrc
執行這個檔案重新登陸了。
linux中/etc/profile 與/etc/environment檔案的差別?
本文轉載:http://andy136566.iteye.com/blog/1025338
先将export LANG=zh_CN加入/etc/profile ,退出系統重新登入,登入提示顯示英文。将/etc/profile 中的export LANG=zh_CN删除,将LNAG=zh_CN加入/etc/environment,退出系統重新登入,登入提示顯示中文。使用者環境建立的過程中總是先執行/etc/profile然後在讀取/etc/environment。為什麼會有如上所叙的不同呢?
應該是先執行/etc/environment,後執行/etc/profile。
/etc/environment是設定整個系統的環境,而/etc/profile是設定所有使用者的環境,前者與登入使用者無關,後者與登入使用者有關。
系統應用程式的執行與使用者環境可以是無關的,但與系統環境是相關的,是以當你登入時,你看到的提示資訊,象日期、時間資訊的顯示格式與系統環境的LANG是相關的,預設LANG=en_US,如果系統環境LANG=zh_CN,則提示資訊是中文的,否則是英文的。
對于使用者的SHELL初始化而言是先執行/etc/profile,再讀取檔案/etc/environment.對整個系統而言是先執行/etc/environment。這樣了解正确嗎?
/etc/enviroment --> /etc/profile --> $HOME/.profile -->$HOME/.env (如果存在)
/etc/profile 是所有使用者的環境變量
/etc/enviroment是系統的環境變量
登陸系統時shell讀取的順序應該是
/etc/profile ->/etc/enviroment -->$HOME/.profile -->$HOME/.env
原因應該是jtw所說的使用者環境和系統環境的差別了
(unbutnu下.profile預設内容為:
root@iZ23onhpqvwZ:~# cat .profile
# ~/.profile: executed by Bourne-compatible login shells.
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
mesg n
)
如果同一個變量在使用者環境(/etc/profile)和系統環境(/etc/environment)有不同的值那應該是以使用者環境為準了。
(1)/etc/profile: 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行. 并從/etc/profile.d目錄的配置檔案中搜集shell的設定。
(2)/etc/bashrc: 為每一個運作bash shell的使用者執行此檔案.當bash shell被打開時,該檔案被讀取。
(3)~/.bash_profile: 每個使用者都可使用該檔案輸入專用于自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變量,執行使用者的.bashrc檔案。
(4)~/.bashrc: 該檔案包含專用于你的bash shell的bash資訊,當登入時以及每次打開新的shell時,該該檔案被讀取。
(5) ~/.bash_logout:當每次退出系統(退出bash shell)時,執行該檔案. 另外,/etc/profile中設定的變量(全局)的可以作用于任何使用者,而~/.bashrc等中設定的變量(局部)隻能繼承 /etc/profile中的變量,他們是"父子"關系。
(6)~/.bash_profile 是互動式、login 方式進入 bash 運作的~/.bashrc 是互動式 non-login 方式進入 bash 運作的通常二者設定大緻相同,是以通常前者會調用後者。
工作環境設定檔案
環境設定檔案有兩種:系統環境設定檔案 和 個人環境設定檔案
1.系統中的使用者工作環境設定檔案:
登入環境設定檔案:/etc/profile
非登入環境設定檔案:/etc/bashrc
2.使用者個人設定的環境設定檔案:
登入環境設定檔案: $HOME/.bash_profile //這個是環境變量設定的地方
非登入環境設定檔案:$HOME/.bashrc //這個是定義别名的地方
登入環境:指使用者登入系統後的工作環境
非登入環境:指使用者再調用子shell時所使用的使用者環境
--------------------------