`
网络接口
  • 浏览: 43314 次
文章分类
社区版块
存档分类
最新评论

Linux中与环境变量相关函数

 
阅读更多

1 在终端可以通过env、set命令查看当前的环境变量
2 通过main函数中的第三个参数可以得到当前进程的环境变量列表
int main(int argc , char *argv[] , char *env[]);
其中argv和env是一个指针数组,数组的最后一个元素为NULL
3 打印当前进程的环境变量

int main(int argc , char *argv[] , char *env[]){
  char **p = env;
  while(*p){
    printf("%s\n",*env);
    env++;
  }
}
4 getenv获得指定的环境变量
char * getenv("环境变量名")

int main(){
  char * p = getenv("PATH");
  if(p){
    printf("%s",p);
  }
  else{
    return;
  }  
}
5 putenv设置环境变量

int main(int argc , char ** argv , char **env){
  printf("%s\n",getenv("PATH"));
  putenv("PATH=/home/hello");
  printf("%s\n",getenv("PATH"));
}
输出结果:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
/home/hello
6 setenv设置环境变量
首先要说明的是,通过此函数并不能添加或修改 shell 进程的环境变量,或者说通过setenv函数设置的环境变量只在本进程,而且是本次执行中有效。如果在某一次运行程序时执行了setenv函数,进程终止后再次运行该程序,上次的设置是无效的,上次设置的环境变量是不能读到的
setenv("变量名","新变量值","是否重写")

int main(int argc , char ** argv , char **env){
  printf("%s\n",getenv("PATH"));
  int res = setenv("PATH","/home/hello",1); //第三个参数为1代表重写
  if(res == -1)
    return;
  printf("%s\n",getenv("PATH"));
}
输出结果:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
/home/hello
若第三个参数为0,即环境变量已经存在,则并不改变它的值
输出结果:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
7 unsetenv删除某个环境变量
unsetenv("环境变量名")

int main(int argc , char ** argv , char **env){
        printf("%s\n",getenv("PATH"));
        unsetenv("PATH");
        printf("%s\n",getenv("PATH"));
}
输出结果:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PATH被删除,所以只输出一行

分享到:
评论

相关推荐

    linux常用c函数 环境变量篇.txt

    linux常用c函数 环境变量篇linux的好用的资源

    Linux C函数参考_环境变量篇.pdf

    Linux C函数参考_环境变量篇 下载资源

    Linux C 函数库参考手册 中文版

    Linux C 函数库参考手册 ...第22章 环境变量函数 第23章 正则表达式 第24章 动态函数 第25章 其他函数 附录A 编程程序--GCC 附录B 宏与函数 附录C 不定参数 附录D Linux信号列表 附录E 常见错误代码及原因

    Linux C函数库参考手册.pdf

    chapter 22 环境变量函数 chapter 23 正由表达式 chapter 24 动态函数 chapter 25 其他函数 APPENDIX A 编译程序-gcc APPENDIX B 宏与函数 APPENDIX C 不定参数 APPENDIX D linux 信号列表 APPENDIX E 常见错误代码...

    Linux下C编程函数手册/linux下C编程必备函数大全

    第22章 环境变量函数 第23章 正则表达式 第24章 动态函数 第25章 其它函数 附录:编译程序,宏,不定参数,linux信号列表,常见错误代码及原因 pdf文档,400多页,函数大全,每个函数后面都有范例! 是学习linux程序的必备...

    Linux_C函数库参考手册[完整版].pdf

    目录: 第1章、字符测试函数 ...第22章、环境变量函数 第23章、正式表达式 第24章、动态函数 第25章、其他函数 附录A 编译程序-gcc 附录B 宏与函数 附录C 不定参数 附录D Linux信号列表 附录E 常见错误代码及原因

    Linux Shell脚本系列教程(四):使用函数添加环境变量.docx

    Linux Shell脚本系列教程(四):使用函数添加环境变量.docx

    linuxC常用函数

    linuxC常用函数查询手册方便实用包括: 字符测试篇 字符串转换篇 内存控制篇 时间日期篇 内存及字符串操作篇 常用数学函数篇 用户组篇 数据结构及算法篇 文件操作篇 文件内容操作篇 ...环境变量篇 终端控制篇

    Linux C 函数使用手册 chm.rar

    Linux C 函数手册主要涉及内容大致如下:用户组、信号处理、内存控制、字符测试、接口处理、文件操作、日期时间、环境变量、终端控制、进程操作、数学函数、字符串转换、数据结构及算法、内存及字符串操作。...

    Linux-C编程常用API接口-函数

    linux中常用API详细介绍,包含应用例程 1 字符测试篇 2 2 字符串转换篇 10 3 内存控制篇 17 4 日期时间篇 22 5 内存及字符串操作篇 28 6 常用数学函数篇 45 7 用户组篇 56 8 数据结构及算法篇 78 9 文件操作篇 85 10...

    判断Linux Shell环境变量是否存在

    #!/bin/bash ...以上所述是小编给大家介绍的Linux Shell 判断环境变量 是否存在,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持!

    Linux C 函数使用手册

    手册主要涉及内容大致如下:用户组、信号处理、内存控制、字符测试、接口处理、文件操作、日期时间、环境变量、终端控制、进程操作、数学函数、字符串转换、数据结构及算法、内存及字符串操作等。

    《linux编程技术》-实验3.doc

    实验3 进程的管理 ... 创建子进程二, 打印子进程运行环境中环境变量“USER”的值,通过exec系列中的某个函数设置子进程”USER”环境变量值为“zhangsan”,并且让该子进程完成以下命令:“ls –li /home”.

    Linux-C编程API函数(掌握这些足够).pdf

    linux下C编程各种API接口,查找非常方便,并且还有实例,我也是借花谢佛,不知道是哪位大佬整理的,这么好的资源应该跟大家一起分享! 1 字符测试篇 2 字符串转换篇 ...15 环境变量篇 16 终端控制篇

    Linux Shell脚本系列教程(四):使用函数添加环境变量

    主要介绍了Linux Shell脚本系列教程(四):使用函数添加环境变量,本文对环境变量的一知识作了介绍,并给出普通添加环境变量和使用函数添加环境变量的方法,需要的朋友可以参考下

    常用linux系统调用函数集合

    共16篇 包含进程 环境变量 字符串等常见系统调用

    linux 下编程C常用函数

    linux函数 解析 常用函数 数学 、环境变量、接口处理、进程操作、内存及字符串操作等

    Linux C函数库参考手册

    Linux C函数库:包括字符测试函数、数据转换函数、内存配置函数、时间函数、字符串处理函数、数学计算函数用户和组函数、数据加密函数、数据结构函数、随机数函数、各种I/O函数、进程和流程控制函数、格式化输入输出...

    Linux 常用C函数(中文版)

    Linux 常用C函数(中文版) 环境变量 进程操作 内存控制及字符串操作 数据结构及算法 文件内容操作 信号处理 终端控制 字符串转换 常用数学函数 接口处理 内存控制 文件操作 文件极限控制 字符测试

    学习笔记《LINUX+SHELL脚本攻略》Sarath Lakshman

    数也能像环境变量一样用export到处,如此,函数的作用域就可以扩展到子进程中。 export -f fname Linux export命令用于设置或显示环境变量。 在shell中执行程序时,shell会提供一组环境变量。export可新增,修改...

Global site tag (gtag.js) - Google Analytics