Linux環境變數
環境變數作用:切換檔案夾,尋找執行檔案等等
查看環境變數 env 和 set 命令,區別set尋找的變數包括自訂變數和bash介面
export 將自訂變數轉化為環境變數,環境變數可以被繼承
malan@malan-Lenovo-G470 ~ $ name=Bellmalan@malan-Lenovo-G470 ~ $ echo $nameBellmalan@malan-Lenovo-G470 ~ $ bashmalan@malan-Lenovo-G470 ~ $ echo $namemalan@malan-Lenovo-G470 ~ $ exitexitmalan@malan-Lenovo-G470 ~ $ export namemalan@malan-Lenovo-G470 ~ $ bashmalan@malan-Lenovo-G470 ~ $ echo $nameBellmalan@malan-Lenovo-G470 ~ $
註:bash表示開啟一個新的bash進程 exit表示退出當前bash
環境變數是從一些環境變數的設定檔裡讀取出來的,那我門上面通過export設定的環境變數在shell一旦重啟後就沒有了.
要想永久的改變環境變數,那就要在設定檔中來設定環境變數
環境變數設定檔修改後必須要重啟shell後才會重新讀取,而source命令可以使設定檔立即生效
malan@malan-Lenovo-G470 ~ $ source 設定檔
設定檔詳解
#先區別login shell 和non-login shell
login shellnon-login shell需要登入不需要登入/etc/profile 系統整體配置~/.bashrc~/.bash_profile ~/.bash_login ~/.profile <使用者個人檔案>以上三個檔案唯讀取一個,從前到後的優先順序
所以綜上所屬:以後在使用者個人檔案中來更改環境變數,然後使用source立即生效即可使用,對於login shell 和non-login shell注意設定檔的不同
malan@malan-Lenovo-G470 ~ $ cat .bashrcmalan@malan-Lenovo-G470 ~ $ echo $namemalan@malan-Lenovo-G470 ~ $ echo "export name=Bell" > .bashrcmalan@malan-Lenovo-G470 ~ $ source .bashrcmalan@malan-Lenovo-G470 ~ $ echo $nameBell重啟終端,依舊生效