Linux 環境變量簡介
系統級
/etc/profile
文件:當用戶登錄時,操作系統為用戶定制的用於登錄到系統的每個用戶的第一個文件,通常是調用/etc/bash.bashrc
文件。/etc/environment
文件:在登錄時操作系統調用的第二個文件,在讀取profile
之前,系統用於設置環境文件的環境變量。用戶級(文件主要是在
/home
~/.profile
:每個用戶都可以調用來輸入自己使用的shell
信息,不過在用戶登錄時,該文件只執行一次。~/.bashrc
: 包含登錄用戶的專用bash shell
的bash
信息。也就是說每開一個shell
,該文件都會被讀取一次。臨時的
針對當前
shell
的環境變量。
簡單來說,環境變量就是指定一個目錄,軟件在運行的時候,相關程序會按照該目錄來查找相關文件。
前面是從系統和用戶級來劃分環境變量。 若按照變量的生存周期來劃分,那麽變量就可以分為:
永久的:需要修改配置文件,變量永久生效。
臨時的:使用
export
命令來聲明就行,變量在關閉shell
的時候失效。
若按照環境變量自身的信息
當前
shell
進程私有用戶自定義變量。此時變量只在當前shell
中有效shell
自身的內建變量從自定義變量導出的環境變量
變量的設置方法:
/etc/profile 文件中添加變量(永久的)
用 vim 編輯器編輯 /etc/profile
文件來增加變量,將作用於 Linux 下所有用戶,且具有永久性。(此方法謹慎使用!)
修改 ~/.profile 文件(對單一用戶生效(永久的))
這種方法較為安全,可以把使用這些環境變量的權限控制到用戶級別,主要是針對某一特定的用戶,如果需要給某個用戶權限使用這些環境變量,只需要修改其個人用戶主目錄下的 .profile
文件就可以了。
eg:編輯shiaynlou
.profile
,即 /home/shiyanlou/.profile
文件。5.2.3 直接運行export
命令定義環境變量(臨時的)
在控制臺中設置,不贊成這種方式,這種設置只對當前的 shell 起作用,換一個 shell 設置就無效了。 在 shell 的命令行下直接使用 [export 變量名=變量值] 來定義變量。
在每個用戶的 home
目錄中有一個 Shell 每次啟動時會默認執行一個配置腳本,以初始化環境,包括添加一些用戶自定義環境變量等等。zsh
的配置文件是 .zshrc
,相應 Bash
的配置文件為 .bashrc
。它們在 etc 下還都有一個或多個全局的配置文件,不過我們一般只修改用戶目錄下的配置文件。因此在退出當前 shell
後,臨時的自定義環境變量不會在新打開的 shell
中出現。
添加一個自定義的變量
$ export shiyanlou="shiyanlou001"$ echo $shiyanlou
註:使用 echo
輸出變量時需要在變量名前面加 $
符號
export shiyanlou="shiyanlou001"
echo $shiyanlou
實驗樓整理梳理。
Linux 環境變量簡介