久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

linux中環境變量是什么意思

156次閱讀
沒有評論

共計 2180 個字符,預計需要花費 6 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下 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 中環境變量是什么意思”有了一定的了解,如果想了解更多相關知識,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計2180字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 阿坝| 满城县| 施甸县| 兴安县| 凉山| 辽阳市| 海淀区| 汝阳县| 宣汉县| 民县| 泗阳县| 潞城市| 综艺| 阳山县| 五河县| 通渭县| 宁阳县| 朝阳市| 九江县| 皮山县| 老河口市| 河西区| 柘荣县| 玉溪市| 融水| 呼和浩特市| 漠河县| 海南省| 武功县| 博野县| 呼伦贝尔市| 含山县| 青浦区| 宿州市| 遵化市| 宁夏| 壶关县| 桑日县| 宜城市| 博爱县| 大安市|