當前位置:才華齋>計算機>作業系統>

Linux設定環境變數時如何修改檔案的方法

作業系統 閱讀(2.37W)

Linux系統下,設定環境變數的同時還需要修改檔案,因為Linux環境變數分為系統級和使用者級,所以修改檔案的方法有所區別,下面小編就給大家詳細介紹下Linux環境變數修改檔案的方法。

Linux設定環境變數時如何修改檔案的方法

環境變數是和Shell緊密相關的,使用者登入系統後就啟動了一個Shell。對於Linux來說一般是bash,但也可以重新設定或切換到其它的 Shell。對於UNIX,可能是CShelll。環境變數是通過Shell命令來設定的,設定好的環境變數又可以被所有當前使用者所執行的程式所使用。對於bash這個Shell程式來說,可以通過變數名來訪問相應的環境變數,通過export來設定環境變數。下面通過幾個例項來說明。

一、系統級:

1)etc/profile:此檔案為系統的每個使用者設定環境資訊,當用戶第一次登入時,該檔案被執行。並從/etc/profile.d目錄的配置檔案中搜集shell的設定。

注:在這裡我們設定是為所有使用者可使用的全域性變數。

2)/etc/bashrc:為每一個執行bash shell的使用者執行此檔案。當bash shell被開啟時,該檔案被讀取。

二、使用者級(這些檔案處於家目錄下):

1)~/_profile:每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當用戶登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的rc檔案。

注:~在LINUX下面是代表HOME這個變數的。

另外在不同的LINUX作業系統下,這個檔案可能是不同的,可能是~/_profile; ~/_login或 ~/ile其中的一種或幾種,如果存在幾種的話,那麼執行的順序便是:~/_profile、 ~/_login、 ~/ile。比如我用的是Ubuntu,我的使用者資料夾下預設的就只有~/ile檔案。

2)~/rc:該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該檔案被讀取。

(注:這個檔案是 。開頭的,所以在資料夾中被隱藏了)

那麼我們如何新增自己定義的環境變數呢?

記事本開啟這個檔案,然後在裡面最後寫上:

xiaokang=kangkang

然後儲存,這樣每次開啟一個新的terminal的時候,我們這個變數就生效了。記住,如果你已經開啟一個terminal,然後你修改了這個檔案,那麼在這個terminal下是不會生效的。一般情況使用者最好在這裡進行修改,但是有時候會覆蓋父級的變數,比如PATH是ROOT設定的,但是如果你在這個檔案裡面寫了PATH=xx,那麼將來所有的PATH都成了xx了,所以我們應該在這個檔案中寫為:

PATH=$PATH:xx

這樣就把原來的和你自己的一起加上了。而且注意在LINUX系統下用:分割表示並列,而不是windo的;

3和4都是在使用者目錄下的,他們唯一的不同是: _profile只能在登入的時候啟動一次。在我的Ubuntu裡面這個3檔案似乎沒有。

3)~/_logout:當每次退出系統(退出bash shell)時,執行該檔案。

另外,/etc/profile中設定的變數(全域性)的`可以作用於任何使用者,而~/rc等中設定的變數(區域性)只能繼承/etc/profile中的變數,他們是/“父子/”關係。

~/_profile 是互動式、login 方式進入 bash 執行的

~/rc 是互動式 non-login 方式進入 bash 執行的

通常二者設定大致相同,所以通常前者會呼叫後者。

通過上面的檔案介紹,就能明白我們需要設定環境變數的時候,需要修改什麼檔案,要想對所有的使用者生效,那就需要設定系統級的環境變數。反之,需要修改使用者級的檔案(最好是修改ile檔案,理由上面已經講了)。

另外,當你登入並且登入shell是bash時,bash首先執行/etc/profile檔案中的命令(如果該檔案存在),然後它順序尋找~ /_profile,~/_login或~/ile檔案,並執行找到的第一個可讀檔案中的命令。當登入bash退出時,它 將執行~/_logout檔案中的命令。

當啟動一個互動的bash時,它將執行~/rc檔案中的命令(如果該檔案存在並且可讀)。當非互動地啟動以執行一個shell指令碼時,bash將查詢bash_env環境變數,確定執行檔案的名稱。

上面就是Linux設定環境變數修改檔案的方法。