Linux中與環境變數相關函式

2021-09-02 12:04:53 字數 1249 閱讀 1637

1 在終端可以通過env、set命令檢視當前的環境變數

2 通過main函式中的第三個引數可以得到當前程序的環境變數列表

int main(int argc , char *argv , char *env);

其中argv和env是乙個指標陣列,陣列的最後乙個元素為null

3 列印當前程序的環境變數

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

}4 getenv獲得指定的環境變數

char * getenv("環境變數名")

int main()

else  

}5 putenv設定環境變數

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

輸出結果:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

/home/hello

6 setenv設定環境變數

首先要說明的是,通過此函式並不能新增或修改 shell 程序的環境變數,或者說通過setenv函式設定的環境變數只在本程序,而且是本次執行中有效。如果在某一次執行程式時執行了setenv函式,程序終止後再次執行該程式,上次的設定是無效的,上次設定的環境變數是不能讀到的

setenv("變數名","新變數值","是否重寫")

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

輸出結果:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

/home/hello

若第三個引數為0,即環境變數已經存在,則並不改變它的值

輸出結果:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

7 unsetenv刪除某個環境變數

unsetenv("環境變數名")

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

輸出結果:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

path被刪除,所以只輸出一行

Linux環境變數相關檔案

執行順序為 etc profile bash profile bash login profile bashrc etc bashrc bash logout 1 etc profile 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行.並從 etc profile.d目錄的...

Linux環境變數相關總結

linux下環境變數分為全域性和區域性變數兩種。linux 下通常提供三種工具可以可以檢視環境變數 printenv env set。前兩個可以檢視全域性環境變數,最後乙個會列印包含全域性和區域性環境變數。可以在shell中使用 引用已經存在的環境變數,也可以使用echo直接列印,比如 echo p...

環境變數相關

blog.csdn.net minpro 1 getenv 取得環境變數內容 相關函式 putenv setenv,unsetenv 表頭檔案 include 定義函式 char getenv const char name 函式說明 getenv 用來取得引數name環境變數的內容。引數name為...