環境變數的理解

2021-10-06 21:35:30 字數 1258 閱讀 6964

1、前言

我們在寫shell指令碼的時候,列印變數的語法是 echo $變數名

同樣,環境變數,也是乙個變數,會有值(類似c語言中的變數初始化。。。。)

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

特徵:1)本質是字串-------->字串變數

2)有統一的格式:名=值[:值]   ------>多個值的時候後面的值用:隔開(參見path的值)。

3)值用來描述環境資訊

環境變數的儲存形式與命令列類似,char*陣列,陣列名environ,內部儲存字串,null結尾,即最後乙個字串為null

載入位置位於使用者區,高於stack的起始位置,位於接近3g的位址空間的位置;

引入環境變數表:需宣告環境變數:extern  char **environ;

2、常用的環境變數

可執行程式的路徑。不同的路徑之間用:隔開;

shell掃瞄path的順序是從前往後,所以,如果新的路徑存有與之前一樣的可執行程式時,需要將該路徑放在前面,否則就會先搜尋到老的版本路徑,從而執行老的命令了。

echo  $path   命令,檢視path環境變數

echo $shell  檢視當前shell的版本(命令解析器)

echo $home   當前的家目錄

echo $lang   當前用的語言

舉例:我們使用ls 命令後,shell解析器是從path路徑中搜尋的,當搜尋到/bin中找到了ls命令執行。

列印某個程序的環境變數(因為環境變數是個接近3g的位置,是屬於乙個程序的。)

#include extern char **environ;

int main()

return 0;

}

環境變數常用的函式

char *getenv(const char *name);

-------------------------------------get an environment variable

int setenv(const char *name, const char *value, int overwrite);

---------------------------setenv - change or add an environment variable

---------------------------overwrite,為1,則覆蓋。

int unsetenv(const char *name); //刪除環境變數

Linux 環境變數的理解

path 指定命令的搜尋路徑 home 使用者登入linux的預設路徑 shell 通常是bin bash echo name name 你的環境變數名 echo 顯示某個環境變數值 export 設定乙個環境變數 env 顯示所有環境變數 unset 清除環境變數 set 顯示本地定義的shell...

環境變數 Vue 環境變數的使用

文章背景 開發過程中經常遇到這樣的問題 相同的 部署到不同環境時需要使用不同的變數 比如介面網域名稱變數 serve 在測試環境和生產環境使用的是不同的網域名稱。這種情況下如果在 裡定義變數,打包部署前再修改 切換成不同的值再打包不利於 的維護,也很繁瑣。這時候利用環境變數來實現,在不用每次打包前改...

Mac OS環境變數的配置和理解

環境變數的用處就是可以在作業系統的各個目錄下,都能訪問到需要的工具目錄內的內容,和windows的桌面的思想十分相似,而且相當於在系統的各處都具有這個桌面的快捷方式。原文出處 其配置檔案的優先順序如下所示 etc profile etc paths bash profile bash login p...