亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux中環境變量是什么意思

發布時間:2021-11-30 17:32:01 來源:億速云 閱讀:400 作者:小新 欄目:建站服務器

小編給大家分享一下linux中環境變量是什么意思,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

在linux中,環境變量指的是系統預定義的參數;它相當于全局變量,存在于所有的Shell中,具有繼承性,可存儲有關shell會話和工作環境的信息。

本教程操作環境:linux5.9.8系統、Dell G3電腦。

1、環境變量的概念

1.1 環境變量的含義

環境變量一般是指操作系統中指定運行環境的一些參數,即系統預定義的參數。它相當于一個指針,想要查看變量的值,需要加上“$”。

環境變量是bash shell的特性,用來存儲有關shell會話和工作環境的信息。允許在內存中存儲數據,以便運行在shell上的程序和腳本訪問。這些數據可以是用來識別用戶、系統、Shell的特性以及任何其它需要存儲的數據。

1.2 環境變量的分類

1.2.1 按作用的范圍分

在Linux中的變量,可以分為環境變量和本地變量:

1)環境變量:相當于全局變量,存在于所有的Shell中,具有繼承性;

2)本地變量:相當于局部變量,只存在當前Shell中,本地變量包含環境變量,非環境變量不具有繼承性。

1.2.2 按生存周期分

1)永久:需要修改配置文件,變量永久生效;

2)暫時:使用export定義,關閉Shell后失效。

2、環境變量的組織方式

linux中環境變量是什么意思

每個程序都有一張環境表,環境表是一個字符指針數組,每個指針指向一個以‘\0’結尾的環境字符串。Main函數的第三個參數就是環境表地址。

3、常見的環境變量

3.1 PATH

該變量指定命令的搜索路徑。

【例】

linux中環境變量是什么意思

釋:從中可以看出,在當前目錄下,PATH的值。它表示在當前目錄下執行的每一條指令的搜索路徑,每個目錄以冒號隔開。當執行一條指令時,系統就會從系統文件中去尋找,找到了就執行;否則不執行。

3.2 HOME

該變量指定用戶的主工作目錄,即用戶登錄到Linux系統時,默認的目錄。

3.2.1 普通用戶下的主工作目錄

【例】

linux中環境變量是什么意思

3.2.2 超級用戶下的主工作目錄

【例】

linux中環境變量是什么意思

釋:環境變量是一個變量,它的值隨著用戶的不同而不同。

3.3 HISTSIZE

該變量指定保存歷史命令的數目。

【例】

linux中環境變量是什么意思

釋:在Linux系統中最多保存1000條命令記錄。

3.4 LOGNAME

該變量指定顯示用戶的登錄名。

【例】

linux中環境變量是什么意思

3.5 HOSTNAME

該變量指定主機名

【例】

linux中環境變量是什么意思

3.6 SHELL

該變量指定用戶當前使用的解析器。

【例】

linux中環境變量是什么意思

4、修改和顯示環境變量的命令

4.1 echo

該命令用于顯示某個環境變量的值。

4.2 env

該命令指定顯示所有的環境變量和值。

【例】

linux中環境變量是什么意思

4.3 set

該命令指定本地變量。

【例】

linux中環境變量是什么意思

4.4 export

該命令指定設置一個新的環境變量。

【例】

linux中環境變量是什么意思

注意:環境變量一般用英文字母大寫加下劃線表示。

4.5 unset

該命令指定清除環境變量。

【例】

linux中環境變量是什么意思

4.6 readonly

該命令用于設置只讀環境變量。

【例】

linux中環境變量是什么意思
釋:將環境變量MY_ENV設置為只讀模式后,就不能在對它進行修改了,直到用戶退出登錄后才失效。

5、存放環境變量的文件

5.1 /etc/profile

該文件的作用是當用戶登錄時獲取系統的環境變量,只獲取一次。

5.2 /etc/bashrc

當執行完/etc/profile文件后,用戶想打開bash Shell就會讀取該文件。如果想每次打開bash Shell后都執行某些操作,可以在該文件中設置。

5.3 ~/.bash_profile

每個用戶都可使用該文件輸入專用于自己使用的shell信息。當用戶登錄時,該文件僅僅執行一次,默認情況下,它設置一些環境變量,執行用戶的.bashrc文件。

單個用戶此文件的修改只會影響到他以后的每一次登陸系統。因此,可以在這里設置單個用戶的特殊的環境變量或者特殊的操作,那么它在每次登陸的時候都會去獲取這些新的環境變量或者做某些特殊的操作,但是僅僅在登陸時

5.4 ~/.bashrc

該文件包含專用于單個人的bash shell的bash信息,當登錄時以及每次打開一個新的shell時,該該文件被讀取。

單個用戶此文件的修改會影響到他以后的每一次登陸系統和每一次新開一個bash。因此,可以在這里設置單個用戶的特殊的環境變量或者特殊的操作,那么每次它新登陸系統或者新開一個bash,都會去獲取相應的特殊的環境變量和特殊操作。

5.5 ~/.bash_logout

當每次退出系統(退出bash shell)時,執行該文件。

6、通過代碼獲取環境變量

【例1】

linux中環境變量是什么意思

注:命令行第3個參數是環境表地址,是一個字符型數組指針。

運行結果:

linux中環境變量是什么意思

【例2】通過第三方變量environ獲取

linux中環境變量是什么意思

運行結果:

linux中環境變量是什么意思

注意:libc中定義的全局變量environ指向環境變量表,因為environ沒有包含在任何頭文件中,所以在使用時要用extern聲明。

7、通過系統調用獲取或設置環境變量

通常用getenv和putenv函數來訪問特定的環境變量,而不是用environ變量。但是,如果要查看整個環境,則必須使用environ指針。

【例1】

linux中環境變量是什么意思

運行結果:

linux中環境變量是什么意思

【例2】

linux中環境變量是什么意思

運行結果:

linux中環境變量是什么意思

釋:“export MY_ENV=Love”導出環境變量,可以被子程序繼承下去;而“MY_ENV=Love”導出的是普通變量,不具有繼承性(與getenv函數一樣)。

看完了這篇文章,相信你對“linux中環境變量是什么意思”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卓尼县| 梁平县| 双辽市| 慈溪市| 彩票| 永新县| 尖扎县| 庆云县| 拜城县| 栖霞市| 承德县| 江山市| 新郑市| 垫江县| 昭平县| 娄底市| 永德县| 唐河县| 宁乡县| 郑州市| 南通市| 苏尼特右旗| 南陵县| 长岭县| 石城县| 库伦旗| 个旧市| 琼海市| 任丘市| 罗田县| 中阳县| 唐河县| 军事| 和龙市| 关岭| 周宁县| 灵台县| 锦州市| 洞口县| 曲水县| 若尔盖县|