淺談Linux環境變量

環境變量的分類:

永久性變量和臨時性變量:根據環境變量的生命週期我們可以將其分爲永久性變量和臨時性變量

系統級變量和用戶級變量:根據用戶等級的不同又可以將其分爲系統級變量和用戶級變量

1.下面介紹系統級別的永久性變量

往/etc/profile裏添加的變量對系統內的所有用戶都生效,所有用戶都可以使用這類變量,如下圖所示,這個需要在root超級用戶下才能修改,並且注意添加完成後新的環境變量不會立即生效,除非你調用source /etc/profile 該文件纔會生效,或者在下次重進此用戶時才能生效。

2.對單一用戶生效的永久性變量(用戶級)

查看方法:在用戶主目錄”~”下的隱藏文件 “.profile”中添加自己想要的環境變量

查看隱藏文件: ls -a或ls -al如下圖所示

和修改系統級profile文件一樣,修改完.profile文件後需要source .profile後才能立即生效,或者下次重進該用戶才能生效

3.臨時有效的環境變量(只對當前shell有效)

該類環境變量只對當前的shell有效。當我們退出登錄或者關閉終端再重新打開時,這個環境變量就會消失。是臨時的。

使用方法:環境變量不存在,使用export設置環境變量,echo查看變量,由於時臨時變量,所以不需要重進該用戶shell或source

環境變量存在時,可以不需要加export直接修改環境變量

查看所有環境變量,使用env,包括系統級和用戶級變量

 

刪除一個變量使用uset

指定命令的搜索路徑,通過設置環境變量PATH可以讓我們運行程序或指令更加方便,每一個冒號都是一個路徑,這些搜索路徑都是一些可以找到可執行程序的目錄列表。當我們輸入一個指令時,shell會先檢查命令是否是內部命令,不是的話會再檢查這個命令是否是一個應用程序。然後shell會試着從這些搜索路徑,即PATH(上圖中路徑)中尋找這些應用程序。如果shell在這些路徑目錄裏沒有找到可執行文件。則會報錯。若找到,shell內部命令或應用程序將被分解爲系統調用並傳給Linux內核。

舉例:

總結:環境變量是和shell緊密相關的,用戶登錄系統後就啓動了一個shell,對於Linux來說一般是bash(Bourne Again shell,Bourne shell(sh)的擴展),也可以切換到其他版本的shell。bash有兩個基本的系統級配置文件:/etc/bashrc和/etc/profile。這些配置文件包含了兩組不同的變量:shell變量和環境變量。shell變量是局部的,而環境變量是全局的。環境變量是通過shell命令來設置。設置好的環境變量又可以被所以當前用戶的程序使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章