Linux下處理環境變量常見的幾個操作:
env:顯示當前所有的環境變量
set:顯示當前bash下用戶自定義的變量和環境變量
export:把自定義的變量轉換成環境變量
環境表:
Unix下的每一個程序都會有一張環境表,其實我們可以想象,main函數使如下這種形式:
int main(int argc , char*argv[], char *envp[])
ISO C 規定了main函數沒有第三個參數,所以Unix系統提供了全局變量environ,
環境表如下:
下面我們打印當前環境變量驗證一下:
#include <stdio.h>
#incldue <stdlib.h>
extern char **environ
int main()
{
char **var;
for(var=environ;*var!=NULL; var++)
printf(“%s\n”,*var);
exit(0);
}
會發現和我們在終端輸入env的結果是一樣的。
通常情況下,我們只對某些環境變量感興趣,所以系統提供了以下幾個函數:
#include <stdlib.h>
Char *getenv(const char*name)
Int putenv(char *str)
Int setenv(const char *name, const char *value, int rewrite)
Int unsetenv(const char *name)
(記不住就man,I like the man @_@)