1、getenv()
函數名: getenv
功 能: 從環境中取字符串,獲取環境變量的值
頭文件: stdlib.h
用 法:char *getenv(char *envvar);
函數說明:getenv()用來取得參數envvar環境變量的內容。參數envvar爲環境變量的名稱,如果該變量存在則會返回指向該內容的指針。環境變量的格式爲envvar=value。getenv函數的返回值存儲在一個全局二維數組裏,當你再次使用getenv函數時不用擔心會覆蓋上次的調用結果。
返回值: 執行成功則返回指向該內容的指針,找不到符合的環境變量名稱則返回NULL。如果變量存在但無關聯值,它將運行成功並返回一個空字符串,即該字符的第一個字節是null。
相關函數:_wgetenv、getenv_s、_wgetenv_s
2、putenv
首先要說明的是,通過此函數並不能添加或修改 shell 進程的環境變量,或者說通過setenv函數設置的環境變量只在本進程,而且是本次執行中有效。如果在某一次運行程序時執行了setenv函數,進程終止後再次運行該程序,上次的設置是無效的,上次設置的環境變量是不能讀到的。
putenv(改變或增加環境變量)
相關函數 getenv,setenv,unsetenv
表頭文件 #include<stdlib.h>
定義函數 int putenv(const char * string);
函數說明:putenv()用來改變或增加環境變量的內容。參數string的格式爲name=value,如果該環境變量原先存在,則變量內容會依參數string改變,否則此參數內容會成爲新的環境變量。
返回值:執行成功則返回0,有錯誤發生則返回-1。
錯誤代碼:ENOMEM 內存不足,無法配置新的環境變量空間。
--------------------------------------------------------------------------------------------------------
使用export設置環境變量
export命令
功能: 設置或顯示環境變量
語法: export [-fnp] [變量名稱]=[變量值]
說明: 在shell中執行程序時,shell會提供一組環境變量。export可新增,修改或刪除環境變量,供後續執行的程序使用。export的效力僅及於該此登陸操作。
參數:
-f 此時變量名稱爲函數名稱。
-n 刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中。
-p 列出所有的環境變量。
舉例:
export PRJROOT=/home/eriol/newproject
export PREFIX=${PRJROOT}/tools
export PATH=${PATH}:${PREFIX}/bin
Linux系統環境變量中,路徑名用冒號分隔。
注意:export設置只對當前的bash登錄session有效,它是存在內存裏面的。
如果想要環境變量永久生效可以修改下面兩個文件中的任何一個:
1 /etc/profile
2 .bash_profile
其中,/etc/profile是全局的環境變量,對所有用戶生效,而.bash_profile只對當前用戶啓作用。
設置完畢,註銷並重新登錄,設置就生效了。
注意:export設置只對當前的bash登錄session有效。這是存在內存裏面的。
轉自:https://blog.csdn.net/qq_26093511/article/details/72742645?locationNum=2&fps=1