shell的環境變數分為set,env兩種,其中set變數可以通過export工具匯入到env變數中。
set是顯示設定shell變數,僅在本shell中有效;env是顯示設定使用者環境變數,盡在當前會話中有效。換句話說,set變數裡包含了env變數,但set變數不一定都是env變數,這兩種變數不同之處在與變數的作用域不同。顯然,env變數的作用域要大些,它可以在subshell中使用。
使用env顯示所有的環境變數;
使用set命令顯示所有的本地定義的shell變數;
使用unset 清除某個shell 或本地的環境變數,例如 unset test 注:unset 不能用來清除唯讀變數
檢視某環境變數例如: echo $path
永久的: 需要修改配置檔案,變數永久生效;
臨時的:在shell中普通宣告的變數和使用export 命令宣告的變數, 變數在關閉shell 失效;
系統提供一些環境配置檔案:/etc/profile
和~/.bash_profile
。/etc/profile
是系統整體的設定,每個使用者共享,最好不要修改;而~/.bash_profile
屬於單個使用者的設定,每個使用者設定後,互不影響和共享。
例如: #vi /etc/profile
export c_include_path=$c_include_path:/usr/local/myinclude
修改後使用source(或 . ) /etc/profile 馬上生效
在使用者目錄下的.bash_profile即~/.bash_profile或~/.bashrc 檔案中增加變數,然後使用source(或.) ~.bash_profile(~.bashrc)即可對該使用者生效
當前shell的普通變數只對當前shell有效,在當前shell的子shell中無效
$ v=5
$echo $v
$5$unset v
$echo $v
export變數只在當前的shell或其子shell下是有效的,當前shell關閉,變數就失效了,再開啟新的shell時,就沒有這個變數了,需要重新定義.
export c_include_path=$c_include_path:/usr/local/myinclude
注:export也可以檢視環境變數,export -p 列出所有的環境變數。
參考文章:
Linux環境變數設定
1 直接用export命令 export path path 自定義路徑 檢視是否已經設好,可用命令export檢視 root localhost bin export path path 自定義路徑 2 修改profile檔案 vi etc profile 在裡面加入 export path pa...
Linux環境變數設定
linux環境變數設定 linux環境變數設定 1 引言 在 linux系統 command not found 的提示內容。如果每次都到安裝目標資料夾內,找到可執行檔案來進行操作就太繁瑣了。這涉及到環境變數 path 的設定問題,而 path 的設定也是在 linux 下定製環境變數的乙個組成部分...
Linux 環境變數設定
環境變數檢視命令env env 環境變數的設定位於 etc profile檔案 path manipulation if euid 0 then pathmunge sbin pathmunge usr sbin pathmunge usr local sbin pathmunge usr loca...