获得环境变量

获取环境变量

1、命令行第三个参数:

  1 #include<stdio.h>
  2 int main(int argc,char* argv[],char* env[]){
  3    int i=0;
  4    for(;env[i]!=NULL;i++){
  5      printf("%s\n",env[i]);
  6    }
  7    return 0;
  8 }

2、通过第三方变量environ获取

  1 #include<stdio.h>
  2 int main(int argc,char* argv[]){
  3     extern char **environ;
  4    int i=0;
  5    for(;environ[i]!=NULL;i++){//之所以利用!=null来判定源于环境变量的组织方式---环境表(字符指针数组,每个指针指向以‘\0’结尾的字符串)
  6      printf("%s\n",environ[i]);
  7    }
  8    return 0;
  9 }

3、通过getenv()函数获得

获取HOME环境变量的值

1 #include<stdio.h>
  2 #include<stdlib.h>
  3 int main(){
  4 
  5     printf("%s\n",getenv("HOME"));
  6     return 0;
  7 }

这里写图片描述

MYENV_VAL是不存在的,不是环境变量,会出现段错误

引出set
这里写图片描述
从set来查找可以看到MYENV_VAL,由此对比env只输出环境变量。


set能够查看到这个变量,由于MYENV_VAL是本地环境变量,(unset可以取消)所以经过export导成了环境变量。而且./getpath后也能看到MYENV_VAL=4321aaaa,这就体现了环境变量的全局属性,他可以被子进程继承下去。
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值