Linux下environ環境變量操作函數
#include <stdio.h>
int main(int argc,char *argv[],char **envptr)
{
int i=0;
for(i=0; envptr[i]!=NULL; i++)
printf("%s\n",envptr[i]);
return 0;
}
main函數是程序的入口函數,int main(int argc,char *argv[]);
argc是程序參數的個數,argv保存參數
與下邊的程序相同的功能
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
extern char **environ;
int main(int argc, char **argv)
{
char **env = environ;
while(*env){
printf("%s\n",*env);
env++;
}
printf("HOME: %s\n", getenv("HOME"));
return 0;
}
C程序中環境變量相關的函數如下
#include <stdlib.h>
char *getenv(const char *name);
int setenv(const char *name, const char *value, int overwrite);
int putenv(char *string);
int unsetenv(const char *name);
int clearenv(void);
參考 man 7 environ
environ全局變量保存用戶環境,以上函數可以獲取、設置、刪除、清空環境變量
響應的shell命令如下
echo $PATH 打印PATH環境變量
export PATH=$PATH:./ 設置環境變量
unset PATH 刪除環境變量
env 顯示所有環境變量