Linux環境變數

2021-09-25 14:45:55 字數 2376 閱讀 9380

七、存放環境變數 的檔案

環境變數:環境變數顧名思義就是變數,它是可變的,它可以指代某乙個具有特定名稱的物件,特定物件的資訊可能會被多個應用程式所使用的。一般是指在作業系統中用來指定作業系統執行環境的一些引數。

linux的變數分為環境變數和本地變數:

環境變數:是一種全域性變數,存在所有的shell中,在登入的時候就有系統定義的環境變數了。linux的環境變數具有繼承性,即shell會繼承父shell的環境變數。

本地變數:當前shell中的變數,本地變數中包含環境變數。linux的本地變數的非環境變數不具備繼承性。

在linux下面的變數按照生存週期可分為兩類:

1、永久的:需要修改配置檔案,變數永久的生效。

2、臨時的:使用export命令宣告即可,變數在關閉shell時失效。

path : 指定命令的搜尋路徑

home : 指定使用者的主工作目錄(即使用者登陸到linux系統中時,預設的目錄)

shell : 當前shell,它的值通常是/bin/bash。

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

histsize :儲存歷史命令記錄的條數 。

lang/languge :和語言相關的環境變數,使用多種語言的使用者可以修改此環境變數。

1、echo:顯示某個環境變數的值

2、export:設定乙個新的環境變數

3、env:顯示所有環境變數

4、unset:消除環境變數

5、set:顯示本地定義的shell變數和環境變數

每乙個程序都會生成類似這樣的環境變數表,以null為結束標誌,環境表是乙個字元指標陣列,每個指標指向乙個以』\0』結尾的環境字串

#include

int main(int argc,char* ar**,char* env)

return 0;

}

#include

int main(int argc,char* ar**,char* env)

return 0;

}

getenv、putenv

#include

#include

int main()

我們知道,在linux中一切皆檔案。所以環境變數也是存放在檔案中的。linux中有很多記載環境變數的檔案,他們是按照一定順序被系統讀入的。

這個檔案是每個使用者登入時都會執行的環境變數設定,當使用者第一次登入時該檔案被執行,並從/ect/profile.d目錄的配置檔案中搜尋shell的設定。這個檔案的作用就是當使用者登入的時候用於獲取系統的環境變數,只在登陸的時候獲取一次。

在執行完/etc/profile內容後,如果使用者執行bash shell的話,則就執行這個檔案。當每次乙個新的bash shell被開啟時,該檔案被讀取。所以,如果想每開啟乙個bash都執行某些操作,就可以在這個檔案裡面設定。

每個使用者都可以使用該檔案輸入自己專用的shell資訊,當使用者登入時,該檔案僅僅被執行一次。預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案。單個使用者對於此檔案的修改只會影響到他以後的每一次登入。

該檔案只包含專用於你的bash資訊,當你登入時以及每次開啟新的shell時,該檔案就會自動被讀取。

每次在退出shell的時候會執行該檔案。它提供了定製使用者環境的功能,比如刪除賬號內的臨時檔案等命令就可以放在bash_logout檔案內。如果這個檔案不存在的話則就執行其他的命令。

這些檔案都是為了為使用者配置環境變數提供的。可以看到/ect/profile就相當於建構函式,~/.bash_logout就相當於析構函式。

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...