ubuntu中有如下幾個檔案可以設定環境變數
/etc/profile:在登入時,作業系統定製使用者環境時使用的第乙個檔案,此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行。
/etc/environment:在登入時作業系統使用的第二個檔案,系統在讀取你自己的profile前,設定環境檔案的環境變數。
~/.profile:在登入時用到的第三個檔案是.profile檔案,每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案。
/etc/bashrc:為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.
~/.bashrc:該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該該檔案被讀取。
(1)/etc/profile
全域性(公有)配置,不管是哪個使用者,登入時都會讀取該檔案。
(2)/ect/bashrc
ubuntu沒有此檔案,與之對應的是/ect/bash.bashrc
它也是全域性(公有)的
bash執行時,不管是何種方式,都會讀取此檔案。
(3)~/.profile
若bash是以login方式執行時,讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。
另外,圖形模式登入時,此檔案將被讀取,即使存在~/.bash_profile和~/.bash_login。
(4)~/.bash_login
若bash是以login方式執行時,讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。
(5)~/.bash_profile
unbutu預設沒有此檔案,可新建。
只有bash是以login形式執行時,才會讀取此檔案。通常該配置檔案還會配置成去讀取~/.bashrc。
(6)~/.bashrc
當bash是以non-login形式執行時,讀取此檔案。若是以login形式執行,則不會讀取此檔案。
(7)~/.bash_logout
登出時,且是longin形式,此檔案才會讀取。也就是說,在文字模式登出時,此檔案會被讀取,圖形模式登出時,此檔案不會被讀取。
下面是在本機的幾個例子:
1. 圖形模式登入時,順序讀取:/etc/profile和~/.profile
2. 圖形模式登入後,開啟終端時,順序讀取:/etc/bash.bashrc和~/.bashrc
3. 文字模式登入時,順序讀取:/etc/bash.bashrc,/etc/profile和~/.bash_profile
4. 從其它使用者su到該使用者,則分兩種情況:
(1)如果帶-l引數(或-引數,--login引數),如:su -l username,則bash是lonin的,它將順序讀取以下配置檔案:/etc/bash.bashrc,/etc/profile和~/.bash_profile。
(2)如果沒有帶-l引數,則bash是non-login的,它將順序讀取:/etc/bash.bashrc和~/.bashrc
5. 登出時,或退出su登入的使用者,如果是longin方式,那麼bash會讀取:~/.bash_logout
6. 執行自定義的shell檔案時,若使用「bash -l a.sh」的方式,則bash會讀取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(這個不屬於bash shell),則不會讀取上面的任何檔案。
7. 上面的例子凡是讀取到~/.bash_profile的,若該檔案不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。
在ubuntu上用android的adb工具發現環境變數有問題,就從網上看了會linux下環境變數的配置,對其環境變數的配置檔案有所了解,這裡單說一下可以配置環境變數的檔案:
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
在 ubuntu 系統中有兩種設定環境變數 path 的方法。第一種適用於為單一使用者設定 path,第二種是為全域性設定 path。
1 開啟終端並輸入:
sudo gedit /etc/environment。
2 輸入使用者密碼。這時輸入的密碼是不可見的。
3 如圖,在path="...."的末尾處新增:
:/opt/embedsky/4.3.3/bin
其中/opt/embedsky/4.3.3/bin為你自己需要設定的環境變數路徑。
4 使其立即生效,在終端執行:
source /etc/environment
或者重啟電腦即可。
end 1
開啟終端並輸入:
sudo gedit ~/.bashrc。
2 輸入使用者密碼。這時輸入的密碼是不可見的。
3 前面的步驟會開啟.bashrc檔案,在其末尾新增:
export path=/opt/embedsky/4.3.3/bin:$path
其中/opt/embedsky/4.3.3/bin為你自己需要設定的環境變數路徑。
4 使其立即生效,在終端執行:
source ~/.bashrc
或者重啟電腦即可。
end
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 在登入時,作業系統定製...