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被删除,所以只输出一行
- 浏览: 44877 次
相关推荐
通过以上介绍,我们了解了四个与环境变量相关的C函数:`getenv()`用于获取环境变量的值;`putenv()`用于设置或更新环境变量;`setenv()`也用于设置环境变量,但提供了一个是否覆盖已存在值的选项;`unsetenv()`则...
在Linux操作系统中,环境变量是系统级别的参数,它们对用户 shell 的行为和其他应用程序的执行有着重要影响。了解如何设置和管理环境变量对于任何Linux用户,尤其是开发者和系统管理员来说都是至关重要的。这篇博客...
总的来说,Linux环境变量是系统与应用程序间通信的关键途径,它们可以用来存储配置信息、指定路径或者控制程序行为。理解和熟练使用环境变量,对于Linux系统的管理和程序开发至关重要。正确地设置和使用环境变量,...
本文将详细介绍几个常见的Linux环境变量,包括`SHELL`、`LANG`、`PATH`、`MANPATH`、`INPUTRC`、`BASH_ENV`、`DISPLAY`、`COLORTERM`、`USER`、`LOGNAME`、`MAIL`、`HOSTNAME`和`HISTSIZE`等,并通过一个示例文件...
通过上述知识点的详细介绍,我们可以了解到Linux环境中环境变量的重要性和多种操作方法,包括如何创建、查询、修改和删除环境变量等。同时,我们还了解了如何利用C语言处理环境变量,以及如何通过配置文件如`/etc/...
本文详细介绍了Linux C编程中与环境变量管理相关的四个函数:`getenv()`、`putenv()`、`setenv()`和`unsetenv()`。通过这些函数,开发者可以有效地控制程序运行时的环境变量,从而实现更灵活的程序配置和管理。理解...
在Linux操作系统中,环境变量是系统级别的全局变量,它们存储着与系统配置、路径信息以及程序运行相关的数据。这些变量可以被所有用户进程共享,并且对程序的执行有着至关重要的影响。例如,`PATH`环境变量就是用来...
Linux C 函数库参考手册 ...第22章 环境变量函数 第23章 正则表达式 第24章 动态函数 第25章 其他函数 附录A 编程程序--GCC 附录B 宏与函数 附录C 不定参数 附录D Linux信号列表 附录E 常见错误代码及原因
通过阅读本书,读者不仅可以掌握C语言的基本语法和函数用法,还能了解如何在Linux环境中利用C语言进行系统级编程。这不仅有助于提升个人技能,也为参与开源项目和解决实际问题提供了必要的知识支持。无论你是初学者...
《Linux C函数手册》是C语言编程在Linux环境下不可或缺的参考资源。这本书籍或文档集主要涵盖了在Linux操作系统中开发C程序时所用到的各种标准库函数、系统调用以及相关的编程接口。以下是对其中一些关键知识点的...
《Linux C函数库中文手册》是一本针对Linux操作系统下C语言编程的重要参考资料,它详尽地阐述了在Linux环境中常用C函数的用法,并且配备了丰富的实例,便于读者理解和掌握。这本书采用CHM(Microsoft Compiled ...
《定制Linux系统环境变量》这份文档主要探讨了如何在Linux操作系统中自定义和管理环境变量,这对于系统开发人员和高级用户来说是至关重要的。环境变量是Linux系统中用于存储信息的变量,它们影响着程序的运行和系统...
本篇文章主要探讨了几个与进程管理相关的函数:atexit、execl、execlp以及execv。这些函数允许程序员在程序执行的不同阶段进行控制,如设置程序结束前要调用的函数,或者在程序中执行新的文件。 1. **atexit()**: ...
为了实现在Linux环境中通过Java程序来调用Windows系统下的Matlab函数,首先需要确保满足以下条件: 1. **Windows环境下**: - 安装Matlab(版本要求2012a或以上)。 - 安装Eclipse集成开发环境。 - 安装JDK...
第22章 环境变量函数 第23章 正则表达式 第24章 动态函数 第25章 其它函数 附录:编译程序,宏,不定参数,linux信号列表,常见错误代码及原因 pdf文档,400多页,函数大全,每个函数后面都有范例! 是学习linux程序的必备...
本教程主要探讨如何在Shell脚本中使用函数来添加环境变量,这对于管理自定义的软件安装路径和依赖库至关重要。 环境变量在Linux中起着至关重要的作用,它们存储了操作系统在执行各种任务时所需的信息。例如,`PATH`...
链接阶段插桩主要利用动态链接器的特性,如LD_PRELOAD环境变量,来替换或添加新的函数实现。这种方法不需要改动原始库的源码,而是创建一个包含包装函数的新动态库,并在运行时优先加载这个库。 2.3 执行阶段插桩 ...
在Linux环境中,Makefile作为一种构建自动化脚本,广泛应用于软件项目的编译、链接等任务管理中。通过掌握Makefile内嵌函数的使用方法,可以使Makefile更加灵活与强大。本文主要介绍GNU Make中的函数调用语法及其...