天天看點

linux PATH環境變量

$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時所使用的使用者環境

 --------------------------

繼續閱讀