在bash shell中,環境變數分為兩類:
全域性環境變數不僅對shell會話課件,對所有shell建立的子程序也可見。區域性變數則只對建立它們的shell課件。
1.系統環境變數一律使用大寫字母以區別於普通使用者的環境變數。
檢視全域性變數,可用printenv命令
2.設定全域性環境變數
建立全域性環境變數的方法是先建立乙個區域性環境變數,然後再把它匯出到全域性環境中。這個過程通過export命令來完成:
ubuntu@vm-150-204-ubuntu:~$ test='testing a long string'
ubuntu@vm-150-204-ubuntu:~$ echo $test
testing a long string
ubuntu@vm-150-204-ubuntu:~$ export test
ubuntu@vm-150-204-ubuntu:~$ bash
ubuntu@vm-150-204-ubuntu:~$ echo $test
testing a long string
3.unset命令刪除環境變數
ubuntu@vm-150-204-ubuntu:~$ echo $test
testing a long string
ubuntu@vm-150-204-ubuntu:~$ unset test
ubuntu@vm-150-204-ubuntu:~$ echo $test
ubuntu@vm-150-204-ubuntu:~$
注:如果在子程序中刪除了乙個全域性環境變數,它只對子程序有效。該全域性環境變數在父程序中依然有效。
4.path環境變數
ubuntu@vm-150-204-ubuntu:~$ echo $path
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
這說明shell將在這些目錄中查詢命令,我們可以新增新的搜尋目錄到現有的path環境變數:
ubuntu@vm-150-204-ubuntu:~$
path=$path
:/home/ubuntu
ubuntu@vm-150-204-ubuntu:~$ echo $path
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/ubuntu
path中的目錄之間是用冒號分隔的,所以只需引用原來的path值,然後再給字串新增新目錄就行了
5.登入shell時會從4個不同的啟動檔案讀取命令
/etc/profile檔案是系統上預設的bash shell的主啟動檔案,系統上的每個使用者登入時都會執行這個啟動檔案,另外3個啟動檔案是使用者專有的。
linux下的環境變數
1 設定環境變數的三種方法 1 export 臨時設定,也就是對當前會話生效 eg export lang en us 2 寫.bash profile檔案 bash profile的位置一般在 home目錄下 對當前使用者設定有效 vi bash profile 要立即生效,請使用 source ...
Linux下的環境變數
1,何為環境變數 使用者成功登入後,啟動shell的過程中,定義一些和使用者的工作環境有關的變數 2,檢視linux的環境變數可以使用命令 env 常用的環境變數有以下幾個 home 使用者的家目錄的完整路徑名。logname 登入使用者名稱。ifs 命令列內部域分隔符,即白空格。path 由冒號分...
linux 下新增環境變數
1 什麼是linux的環境變數啊?下面舉例說明什麼是環境變數,及其作用,如果是path的話就是指你執行命令所在的目錄,比如你echo path,看到的結果類似於 usr local sbin usr local bin usr sbin usr bin sbin bin usr games 說明在這...