getenv获取不到环境变量,linux设置环境变量setenv

  getenv获取不到环境变量,linux设置环境变量setenv

  Getenv(获取环境变量内容)

  相关函数putenv、setenv、unsetenv

  头文件#include stdlib.h

  定义函数char * getenv(const char * name);

  解释函数getenv()是用来获取参数名环境变量的内容的。参数名是环境变量的名称,如果变量存在,它将返回指向内容的指针。环境变量的格式是name=value。

  返回值:如果执行成功,则返回指向内容的指针,如果找不到匹配的环境变量名,则返回NULL。

  模型

  用户=root

  Putenv(更改或添加环境变量)

  相关函数getenv、setenv、unsetenv

  头文件#include stdlib.h

  定义函数int putenv(const char * string);

  描述:putenv()用于改变或增加环境变量的内容。参数字符串的格式是name=value。如果环境变量原本就存在,那么变量内容会根据参数字符串发生变化,否则,参数内容会变成一个新的环境变量。

  返回值:0表示成功执行,1表示出错。

  错误:ENOMEM没有足够的内存来配置新的环境变量空间。

  模型

  执行用户=root

  用户=测试

  Setenv(更改或添加环境变量)

  相关函数getenv、putenv、unsetenv

  头文件#include stdlib.h

  定义函数intsetenv (constchar * name,constchar * value,into overwrite);

  解释setenv()函数用于更改或增加环境变量的内容。

  参数名是一个环境变量名字符串。

  该值是可变内容。

  参数overwrite用于确定是否改变现有的环境变量。如果overwrite不为0,则更改环境变量原始内容,原始内容将更改为参数值所引用的变量内容。如果overwrite为0,并且环境变量已经有内容,则该参数值将被忽略。

  如果返回值执行成功,则返回0,如果有错误,则返回-1。

  错误ENOMEM没有足够的内存来配置新的环境变量空间。

  模型

  #包含stdlib.h

  主()

  {

  char * p;

  if((p=getenv("USER "))

  printf("USER=%sn ",p);

  setenv("用户","测试",1);

  printf("USER=%sn ",getenv(" USER "));

  unsetenv(“用户”);

  printf("USER=%sn ",getenv(" USER "));

  }

  执行

  用户=root

  用户=测试

  用户=(空)

getenv获取不到环境变量,linux设置环境变量setenv