1. /etc/profile:首先是全域性的,適用於所有的shell;在登入時,作業系統配置使用者首選項使用的第乙個檔案,此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行用於設定shell,可以在這裡配置環境變數。
2. /etc/environment:在登入時作業系統使用的第二個檔案,系統在讀取你自己的profile前,配置檔案系統環境。 我一般在這裡設定一些全域性的變數,ubuntu預設path在這個檔案中,我就把adb的路徑放到這裡了。(ps:以上兩項修改需要重啟)
3. ~/.bash_profile:在登入時用到的第三個檔案是.profile檔案,每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者 登入時,該 檔案僅僅執行一次!預設情況下,他設定一些環境變遊戲量,執行使用者的.bashrc檔案。/etc/bashrc:為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.
4.~/.bashrc:該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該該檔案被讀取。
常用的一些命令:
echo : echo $path 可以用來顯示環境變數
export :設定一些環境變數 export path="$path:/my_new_path"
env : 顯示所有的環境變數
set : 顯示所有本地定義的shell變數
unset : 清楚環境變數 unset $path
readonly : 設定唯讀變數 readonly path
1)etc/profile:此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行.
並從/etc/profile.d目錄的配置檔案中蒐集shell的設定.
注:在這裡我們設定是為所有使用者可使用的全域性變數。
2)/etc/bashrc:為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.
3)~/.bash_profile:每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案.
注:~在linux下面是代表home這個變數的。
另外在不同的linux作業系統下,這個檔案可能是不同的,可能是~/.bash_profile; ~/.bash_login或 ~/.profile其中的一種或幾種,如果存在幾種的話,那麼執行的順序便是:~/.bash_profile、 ~/.bash_login、 ~/.profile。比如我用的是ubuntu,我的使用者資料夾下預設的就只有~/.profile檔案。
4)~/.bashrc:該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該檔案被讀取.
(注:這個檔案是 .開頭的,所以在資料夾中被隱藏了)
那麼我們如何新增自己定義的環境變數呢?
用記事本開啟這個檔案,然後在裡面最後寫上:
export xiaokang=xiaokang
然後儲存,這樣每次開啟乙個新的terminal的時候,我們這個變數就生效了。記住,如果你已經開啟乙個terminal,然後你修改了這個檔案,那麼在這個terminal下是不會生效的。
一般情況使用者最好在這裡進行修改,但是有時候會覆蓋父級的變數,比如path是root設定的,但是如果你在這個檔案裡面寫了path=xx,那麼將來所有的path都成了xx了,所以我們應該在這個檔案中寫為:
path=$path:xx
這樣就把原來的和你自己的一起加上了。
而且注意在linux系統下用:分割表示並列,而不是windo的;
我再補充一些測試:
比如往~/.bashrc最後新增環境變數jat:
nano ~/.bashrc(
不要忘了bashrc前面的點,如果忘了名字,只需記住帶有bash字樣,ls -al ~ | grep bash查詢即可)
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion fi
export xmodifiers="@im=ibus"
export qt_im_module=ibus
我這裡已經有設定過一些環境變數了,跟ibus相關的。
我在後面新增:
export jat=jat1
儲存後,另開乙個shell驗證(因為這個檔案是在新開shell時讀取的,對於當前shell並不生效)
驗證方法有三種:
1,執行echo $jat
2,執行export | grep -i jat
可以看到有一行:
declare -x jat="jat1"
3,或者也可以通過env | grep -i jat檢視,結果是一樣的。
如果要使用臨時的環境變數,那麼在當前shell使用export key=value就可以了,關閉shell之後這些變數就不存在了。
需要注意的是,有時候系統變數在指令碼中也不起作用,這時可能需要自己手動修改指令碼,加上相應變數宣告
ubuntu配置環境變數
在ubuntu上用android的adb工具發現環境變數有問題,就從網上看了會linux下環境變數的配置,對其環境變數的配置檔案有所了解,這裡單說一下可以配置環境變數的檔案 1.etc profile 首先是全域性的,適用於所有的shell 在登入時,作業系統配置使用者首選項使用的第乙個檔案,此檔案...
ubuntu 環境變數配置
vi etc profile 在最後的地方 多個環境變數 然後 source etc profile 臨時設定 export path opt android studio bin path 當前使用者的全域性設定 vim profile,新增行 export path opt android st...
Ubuntu環境變數配置
使用ubuntu 進行開發繞不開的就是環境變數的配置,由於linux系統嚴格的許可權管理,造成ubuntu系統有多個環境變數配置檔案,如果不了解其呼叫順序,很有可能遇到配置了環境變數,而沒有其作用的問題。本文將介紹ubuntu linux系統的環境變數。etc profile 在登入時,作業系統定製...