部落格138 Linux環境變數配置檔案

2021-10-01 07:53:34 字數 3347 閱讀 6151

內容:記錄一下linux下的環境變數配置檔案以及讀取過程

概念:

環境變數(environment variables)是指:在作業系統中用來指定作業系統執行環境的一些引數

舉例:比如常用的path環境變數,當要求系統執行乙個程式而沒有告訴它程式所在的完整路徑時,系統除了在當前

目錄下面尋找此程式外,還會到path中指定的路徑去找。你可以在終端使用printenv path檢視當前path

變數的值。

型別:

系統環境變數:對所有系統使用者都有效

使用者環境變數:僅僅對當前的使用者有效

幾個常見配置檔案:

/etc/profile : 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行。

/etc /environment : 系統的環境變數,系統應用程式的執行與使用者環境可以是無關的,但與系統環境是

相關的~/

.profile :

.profile檔案是每個使用者都可使用該檔案輸入專用於自己使用的shell資訊的,當使用者登入

時,該檔案僅僅執行一次!預設情況下,它設定一些環境變數,執行使用者的.bashrc檔案。

/etc/bashrc : 為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.~/

.bashrc : 該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該檔案

被讀取。

配置檔案分類:

1.使用者環境變數可儲存在以下檔案中:~/

.profile~/

.bashrc,~/

.bash_profile,~/

.bash_login (當乙個存在不會繼續載入)

推薦將環境變數儲存在~

/.profile中,因為無論通過控制台或圖形介面啟動程式時,都會自動執行該檔案.而~/

.bashrc,~/

.bash_profile,~/

.bash_login這些檔案,通過shell啟動程式時,它們也會載入;

但當通過圖形介面環境啟動程式時,這些檔案中的環境變數設定便不可用了。

2.系統環境變數可儲存在以下檔案中:

/etc/environment

/etc/profile

/etc/profile.d(它是資料夾,/etc/profile.d資料夾**於/etc/profile,在該目錄下的*

.sh,

即以sh為字尾的檔案都會被載入。)

/etc/bash.bashrc

不推薦使用/etc/bash.bashrc,因為在圖形介面環境下啟動程式時,不會載入它裡邊的環境變數設定。

注意:配置檔案修改後需要使用source來生效, 比如:source ~/.bashrc

不同許可權環境變數配置:

一:使當前使用者生效配置

修改目標:使用者主目錄下的.profile或.bashrc檔案

方法:1.登入到你的使用者(非root),在終端輸入:

2.sudo gedit ~/.

profile

(or .bashrc)

在此檔案末尾加入環境變數的設定,比如:

export path=」$path:your path1:your path2 ...」

3.儲存檔案,登出再登入,變數生效。

二:使所有使用者生效配置

修改目標:系統目錄下的profile檔案

方法:1.sudo gedit /etc/profile

在此檔案末尾加入環境變數的設定,比如:

export path=」$path:your path1:your path2 ...」

2.該檔案編輯儲存後,重啟系統,變數生效。

三:全域性環境變數配置

修改目標:系統目錄下的 environment 檔案

方法:1.sudo gedit /etc/environment

2.以修改path為例子:

找到path=

"<......>",並修改該 path 變數,在其中加入自己的path即可,例如:

path=

"<......>:your path1:your path2 …"

各個path之間用冒號分割。該檔案也是重啟生效,影響所有使用者。

注意這裡不是新增export path=… 。

四:臨時生效配置 (這種方式變數立即生效,但使用者登出或系統重啟後設定變成無效)

1.sudo export path=

"$path:your path1:your path2 …"

修改環境變數方法:

1.修改環境變數的值

直接覆蓋原來的值修改 : example=

"new"

2.刪除乙個環境變數

unset $example

linux啟動時讀取配置檔案的過程:

1.讀取/etc/enviroment

2.讀取/etc/profile

-->

/etc/bash.bashrc

-->

/etc/profile

-->

/etc/profile.d/ 下的所有.s**件

3.讀取~

/.bash_profile,否則讀取~

/.bash_login,再否則~

/.profile

(三者存在讀取優先關係 依次讀取,誰存在就執行誰,然後後面的就不會再執行)4.~

/.bashrc (如果執行bash才執行)

-->~/

.bash_aliases

-->

/etc/bash_completion 5.~

/.bash_logout:當每次退出系統(退出bash shell)時,執行該檔案。

常見環境變數:

bash bash : shell的全路徑

cdpath :用於快速進入某個目錄。

path :決定了shell將到哪些目錄中尋找命令或程式

home :當前使用者主目錄

histsize :歷史記錄數

logname :當前使用者的登入名

hostname :指主機的名稱

shell :當前使用者shell型別

mail :當前使用者的郵件存放目錄

ps1 :基本提示符,對於root使用者是#,對於普通使用者是$

linux環境程式設計 環境變數 列印環境變數

在shell程式設計主題中,我們已經大致的介紹過 環境變數和本地變數啦 我們今天來具體的介紹介紹,那環境變數到底是什麼呢?是我 一.環境變數含義 特徵 環境變數是指 作業系統中用來指定作業系統執行環境的一下引數 1 特徵 字串 有統一的格式 名 值 值 值用來描述程序的環境資訊 2 使用形式 與命令...

linux環境變數

初次學習lliux對環境變數的知識甚是不解決,特花費乙個上午的時間總結了一下,可以說是全面!如各位有更加詳細的見解不妨告知!定製環境變數 環境變數是和shell緊密相關的,使用者登入系統後就啟動了乙個shell。對於linux來說一般是bash,但也可以重新設定或切換到其它的 shell。環境變數是...

Linux環境變數

好吧,我承認這篇文章是轉的.1.顯示環境變數home echo home home redbooks 2.設定乙個新的環境變數hello export hello hello echo hello hello 3.使用env命令顯示所有的環境變數 env hostname redbooks.safe...