先來介紹以下linu中的環境變數
linux 的變數可分為兩類:環境變數和本地變數
環境變數,或者稱為全域性變數,存在與所有的shell 中,在你登陸系統的時候就已經有了相應的系統定義的環境變數了。linux 的環境變數具有繼承性,即子shell 會繼承父shell 的環境變數。
本地變數,當前shell 中的變數,很顯然本地變數中肯定包含環境變數。linux 的本地變數的非環境變數不具備繼承性。
linux 中環境變數的檔案
當你進入系統的時候,linux 就會為你讀入系統的環境變數,這些環境變數存放在什麼地方,那就是環境變數的檔案中。linux 中有很多記載環境變數的檔案,它們被系統讀入是按照一定的順序的。
1. /etc/profile :
此檔案為系統的環境變數,它為每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行。並從/etc/profile.d 目錄的配置檔案中蒐集shell 的設定。
這個檔案,是任何使用者登陸作業系統以後都會讀取的檔案(如果使用者的shell 是csh 、tcsh 、zsh ,則不會讀取此檔案),用於獲取系統的環境變數,只在登陸的時候讀取一次。
假設使用者使用的是bash ,那麼
2. /etc/bashrc :
在執行完/etc/profile 內容之後,如果使用者的shell 執行的是bash ,那麼接著就會執行此檔案。另外,當每次乙個新的bash shell 被開啟時, 該檔案被讀取。
每個使用bash 的使用者在登陸以後執行完/etc/profile 中內容以後都會執行此檔案,在新開乙個bash 的時候也會執行此檔案。因此,如果你想讓每個使用bash 的使用者每新開乙個bash 和每次登陸都執行某些操作,或者給他們定義一些新的環境變數,就可以在這個裡面設定。
3. ~/.bash_profile :
每個使用者都可使用該檔案輸入專用於自己使用的shell 資訊。當使用者登入時,該檔案僅僅執行一次,預設情況下,它設定一些環境變數,執行使用者的.bashrc 檔案。
單個使用者此檔案的修改只會影響到他以後的每一次登陸系統。因此,可以在這裡設定單個使用者的特殊的環境變數或者特殊的操作,那麼它在每次登陸的時候都會去獲取這些新的環境變數或者做某些特殊的操作,但是僅僅在登陸時。
4. ~/.bashrc :
該檔案包含專用於單個人的bash shell 的bash 資訊,當登入時以及每次開啟乙個新的shell 時, 該該檔案被讀取。
單個使用者此檔案的修改會影響到他以後的每一次登陸系統和每一次新開乙個bash 。因此,可以在這裡設定單個使用者的特殊的環境變數或者特殊的操作,那麼每次它新登陸系統或者新開乙個bash ,都會去獲取相應的特殊的環境變數和特殊操作。
~/.bash_logout :
當每次退出系統( 退出bash shell) 時, 執行該檔案。
幾個命令
env 和printenv
這兩個變數用於列印所有的環境 變數:
更加詳細的介紹可以參考:
最近配置hudson 發布專案,ssh 無密碼登路成功,執行命令總是出錯。
執行的命令:
ssh [email protected] 『jar -xvf sample.war』。
錯誤資訊:
bash: jar: command not found。
資訊提示說的很清楚在bash中無法找到命令』jar『。
但是可以通過xshell工具登入到10.0.0.1輸入使用者名稱和密碼 是執行 jar 命令。
這裡需要注意通過使用者名稱和密碼登入 與 ssh無密碼登入的環境變數區別。
a ssh 無密碼登入 之後載入使用者自己的環境變數。環境變數檔案在使用者目錄下 .bashrc 和.bash_profile檔案中。不能載入/ect/profile檔案中的環境變數。
b 通過使用者名稱和密碼 可以載入/ect/profile檔案中的環境變數。
useradd 新增使用者
userdel 刪除使用者
groupadd 新增使用者組
groupdel 刪除使用者組
Linux中環境變數設定
1.顯示環境變數home echo home home redbooks 2.設定乙個新的環境變數hello export hello hello echo hello hello 3.使用env命令顯示所有的環境變數 env hostname redbooks.safe.org pvm rsh u...
linux中環境變數的設定
參考部落格 環境配置檔案有以下幾個 1.etc profile 在登入時,作業系統定製使用者環境時使用的第乙個檔案 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行。2.etc environment 在登入時作業系統使用的第二個檔案,系統在讀取你自己的profile前,設定...
Linux中環境變數的設定
目錄 環境變數 shell定義的環境變數 檢視環境變數 linux下環境變數的設定 在windows 系統下,很多軟體安裝都需要配置環境變數,比如 安裝 jdk 如果不配置環境變數,在非軟體安裝的目錄下執行j ac 命令,將會報告找不到檔案,類似的錯誤。那麼什麼是環境變數?簡單說,就是指定乙個目錄,...