Linux下environ环境变量操作函数

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 显示所有环境变量

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/56eda42941bc60eb955b4f1ff77d6c07.html