前言:
1. 環境變量是操作系統環境設置的變量,適用於整個系統的用戶進程;
2. 環境變量可以在命令中設置,但是用戶注銷的時候將會丟失這些設置值;
3. 若要重復適用,則最好在.profile中定義;環境變量的使用與本地變量的使用方法相同,
4. 但是在使用之前,必須用export命令導出。
一.Linux的變量種類
按變量的生存周期來劃分,Linux變量可分為兩類:
1.永久的:需要修改配置文件,變量永久生效
2.臨時的:使用export命令聲明即可,變量在關閉shell時失效
二.Linux 環境變量文件
linux變量文件有/etc/environment 或 /etc/profile 或 ~/.profile 或 /etc/bash.bashrc 或 ~/.bashrc, 以及~/.bash_profile(一般是用戶在自己目錄下新建的),~/.bash_logout.
1./etc/environment:是系統在登錄時讀取的第一個文件,用於為所有進程設置環境變量。系統使用此文件時並不是執行此文件中的命令,而是根據而是根據KEY=VALUE模式的代碼,對KEY賦值以VALUE,因此文件中如果要定義PATH環境變量,只需加入一行形如 PATH=$PATH:/xxx/bin的代碼即可
2./etc/profile:此文件是系統登錄時執行的第二個文件。 為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行。並從/etc/profile.d目錄的配置文件中搜集shell的設置。
(/etc/profile可以用於設定針對全系統所有用戶的環境變量,環境變量周期是永久性)
3. ~/.profile:
對應當前登錄用戶的profile文件,用於定制當前用戶的個人工作環境(變量是永久性)
4. /etc/bash.bashrc:是針對所有用戶的bash初始化文件,在此中設定的環境變量將應用於所有用戶的shell中,此文件會在用戶每次打開shell時執行一次
5.~/.bashrc:該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該文件被讀取。(~/.bashrc只針對當前用戶,變量的生命周期是永久的)
6.~/.bash_profile:每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次。默認情況下,他設置一些環境變量,執行用戶的.bashrc文件。(如果~/目錄下沒有.bash_profile則新建立一個)
當一個shell關閉時,在bash_profile中定義的系統變量則會失效。因此,每打開一個新的shell時都要運行一次source bash_profile.而且針對當前用戶。
7.~/.bash_logout:當每次退出系統(退出bash shell)時,執行該文件。
說明:
1.以上這幾個文件的執行順序是/etc/enviroment–>/etc/profile –>~/.profile –>/etc/bash.bashrc–> ~/.bashrc
2.要使得剛修改的環境變量生效:source .bashrc
3.查看環境變量:env
4.使用readonly命令設置只讀變量,如果使用了readonly命令的話,變量就不可以被修改或清除了。
5.使用unset命令來清除環境變量
$ unset TEMP_KEVIN #刪除環境變量TEMP_KEVIN