linux下export命令新增刪除環境變數

深海小黃魚發表於2015-11-12
Linux export命令引數
 
功能說明:設定或顯示環境變數。
語  法:export [-fnp][變數名稱]=[變數設定值]
補充說明:在shell中執行程式時,shell會提供一組環境變數。 export可新增,修改或刪除環境變數,供後續執行的程式使用。
export的效力僅及於該此登陸操作。
 
參  數:
    -f  代表[變數名稱]中為函式名稱。
 -n  刪除指定的變數。變數實際上並未刪除,只是不會輸出到後續指令的執行環境中。
 -p  列出所有的shell賦予程式的環境變數。
一個變數建立時,它不會自動地為在它之後建立的shell程式所知。而命令export可以向後面的shell傳遞變數的值。當一個shell指令碼呼叫並執行時,它不會自動得到原為指令碼(呼叫者)裡定義的變數的訪問權,除非這些變數已經被顯式地設定為可用。
export命令可以用於傳遞一個或多個變數的值到任何後繼指令碼
===============================================
 在 linux 裡設定環境變數的方法 ( export PATH )
如果使用原始碼包安裝的軟體,在安裝完成後一般情況下要設定該軟體命令執行的路徑,那就是 PATH 變數。如何來設定 PAHT變數呢?我們又三種方法實現
1.直接使用 export 命令 (我們以 mysql 服務舉例說明)
[root@liyao ~]# export PATH=$PATH:/usr/local/mysql/bin
檢視是否已經設定好,可以使用命令 export 命令來檢視,也可以直接$#變數名#來檢視
zhongweichaomatoMacBook-Pro:~ zhongweichao$ $PATH
-bash: :/Users/zhongweichao/.local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/zhongweichao/Develop/jboss-5.1.0.GA/bin
 
需要注意: 直接使用 export 設定的變數都是臨時變數,也就是說退出當前的 shell ,為該變數定義的值便不會生效了。如何能讓我們定義的變數永久生效呢?那就看我們的第二種定義的方式
2. 修改 /etc/profile
[root@liyao ~]# vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin  # 在配置檔案中加入此行配置
需要注意的是:修改完這個檔案必須要使用 以下命令在不用重啟系統的情況下使修改的內容生效
[root@liyao ~]# source /etc/profile
或者是:
[root@liyao ~]# . /etc/profile
 
[root@liyao ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
# 配置已經生效
3. 修改 .bashrc 檔案是在當前使用者 shell 下生效
# vi /root/.bashrc?在裡面加入:
export PATH=$PATH:/usr/local/mysql/bin
修改這個檔案之後同樣也需要使用 source 或者是 . 使配置檔案生效。
再來使用 echo $PATH看下變數是否生效
[root@liyao ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
 

相關文章