export:將自定義變量設定為系統環境變量(當前shell中有效)
功能說明:設置或顯示環境變量。
語 法:export
[-fnp][變量名稱]=[變量設置值]
補充說明:在shell中執行程序時,shell會提供一組環境變量。export可新增,修改或刪除環境變量,供后續執行的程序使用。export的效力僅及于該此登陸操作。
參 數:
-f 代表[變量名稱]中為函數名稱。
-n 刪除指定的變量。變量實際上并未刪除,只是不會輸出到后續指令的執行環境中。
-p 列出所有的shell賦予程序的環境變量。
在shell中輸入export可以輸出當前的變量。也可以通過
export TARGET=arm-linux-這樣的命令設定環境變量,
export PATH=$PATH:/.../bin。
當執行一個腳本時,新開了一個子shell,繼承父shell中的環境
變量,但是在子shell中定義的變量是不能被帶回到父shell中。
/etc/environment是設置整個系統的環境,而/etc/profile是設置所有用戶的環境,前者與登錄用戶無關,后者與登錄用戶有關。
如果同一個變量在用戶環境(/etc/profile)和系統環境(/etc/environment)有不同的值那應該是以用戶環境為準了。
另外設置環境變量可以在/etc/profile中,區別如下:
/etc/profile:此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.
并從/etc/profile.d目錄的配置文件中搜集shell的設置.
/etc/bashrc:為每一個運行bash
shell的用戶執行此文件.當bash shell被打開時,該文件被讀取.
~/.bash_profile:每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該
文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件.
~/.bashrc:該文件包含專用于你的bash
shell的bash信息,當登錄時以及每次打開新的shell時,該
該文件被讀取.
~/.bash_logout:當每次退出系統(退出bash
shell)時,執行該文件.
另外,/etc/profile中設定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關系.
~/.bash_profile 是交互式、login 方式進入 bash 運行的
~/.bashrc 是交互式 non-login 方式進入 bash 運行的
通常二者設置大致相同,所以通常前者會調用后者。