加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux—环境变量(day09)

发布时间:2020-12-14 00:46:13 所属栏目:Linux 来源:网络整理
导读:目录 一、使用C程序访问环境变量 二、文件输入重定向 三、管道 四、信号 ? 一、使用C程序访问环境变量 系统提供一个全局变量,extern char **environ; 内部存放结构如下 ? 1、使用全局变量environ打印系统所有环境变量: extern char ** environ; int i= 0

目录

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

二、文件输入重定向

三、管道

四、信号


?

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

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

?

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

extern char **environ;
int i=0;
while(*(environ+i)!=NULL){
     printf("%sn",*(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("%sn",envp[i]);
     }
     return 0;
}

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

getenv(3)

#include<stdlib.h>

char *getenv(const char *name)

功能:

  获取环境变量的值

参数:

  name:环境变量的名字

返回值:

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

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

printf("%sn",getenv(UID));

putenv(3)

#include<stdlib.h>

int putenv(const char *name)

功能:

  改变或增加一个环境变量

参数:

  string:name=value格式的字符串

返回值:

  错误:非0

  成功:0

piutenv("name=pycoming")printf("name:%sn",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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读