Linux—环境变量(day09)

目录

一、使用C程序访问环境变量

二、文件输入重定向

三、管道

四、信号


一、使用C程序访问环境变量

  系统提供一个全局变量,extern char **environ; 内部存放结构如下

1、使用全局变量environ打印系统所有环境变量:

扫描二维码关注公众号,回复: 6424606 查看本文章
extern char **environ;
int i=0;
while(*(environ+i)!=NULL){
     printf("%s\n",*(environ+i));
     i++;
}

2、使用main(int argc,char *argv,char *envp[])

#include<stdio.h>

int main(int argc,char *argv[],char *envp[]){
     int i=0;
     for(;envp[i]!=NULL;i++){
          printf("%s\n",envp[i]);
     }
     return 0;
}

 3、通过函数操作环境变量

getenv(3)

#include<stdlib.h>

char *getenv(const char *name)

功能:

  获取环境变量的值

参数:

  name:环境变量的名字

返回值:

  没有找到匹配的环境变量:NULL

  成功:环境变量值的首地址

printf("%s\n",getenv(UID));

putenv(3)

#include<stdlib.h>

int putenv(const char *name)

功能:

  改变或增加一个环境变量

参数:

  string:name=value格式的字符串

返回值:

  错误:非0

  成功:0

piutenv("name=pycoming")'
printf("name:%s\n",getenv(name));

name变量只是在此进程中被设置,此进程结束后,无法再查看。

  

clearenv(3)

#include<stdlib.h>

int clearenv(void)

功能:

  清除环境变量

参数:

  void

返回值:

  错误:非0

  成功:0

  例略。

setenv(3)

#include<stdlib.h>

int setenv(const char *name,const char*value,int overwrite)

功能:

  改变或增加一个环境变量

参数:

  name:环境变量的名字

  value:指定改变环境变量的值

  overwrite:

    0:环境变量的值存在,那么值被改变

    非0:环境变量的值存在,不被改变

返回值:

  错误:-1,errno被设置

  成功:0

int unsetenv(const char *name,const char*value,int overwrite)

功能:

  改变或增加一个环境变量

参数:

  name:环境变量的名字

  value:指定改变环境变量的值

  overwrite:

    0:环境变量的值存在,那么值不被改变

    非0:环境变量的值存在,被改变

返回值:

  错误:-1,errno被设置

  成功:0

猜你喜欢

转载自www.cnblogs.com/ptfe/p/11003225.html
今日推荐