Linux如何处理当前运行环境的环境变量
2013-09-09 16:28
375 查看
对于环境变量大家都不陌生,例如,我们都很熟悉的HOME这个环境变量,这个变量指示的当前用户的个人用户目录的路径。又例如,PATH这个环境变量,它指示出当前Linux系统搜索的的执行文件的路径列表。
对于我们在Linux下常用的BASH这个shell程序,它有自己的一套管理环境变量的方法。例如,通过$NAME来访问相应的环境变量,通过export来设置环境变量,下面是一个实例:
而在我们的应用程序里面,如果需要访问一个环境变量,我们可以通过getenv()这个函数来实现,getenv这个函数在这个头文件中声明。这个函数的输入参数是需要访问的变量名字,得到的返回值是一个字符串,如果所访问的环境变量没有设置,则会返回NULL。如果需要在程序里面设置某个环境变量,则可以使用setenv这个函数,如果是要清除某个特定的环境变量,金冠娱乐城http://haochen-cn.com则使用unsetenv这个函数。它们的函数原型如下:
值得一提的是,GNU C函数库里面有一个特殊的全局的变量,名字叫做environ,这个变量的类型是char **,它所指向的是所有的环境变量的一个列表,最后是以NULL结尾。每个字符串都是“VALUE=value”这样的形式。例如下面的程序可以打印出当前运行环境里面的所有的环境变量:
注意,如果你需要修改某个环境变量,不要直接修改environ这个变量,而应该使用setenv或者unsetenv这样的管理函数来做这件事情。
一般来说,当一个程序启动的时候,它就会拷贝一份启动它的“父”程序所拥有的环境变量。环境变量是GNU程序常用来配置某个应用程序的行为的一个方法,例如,通过环境变量来设置HTTP代理的地址和端口号等等。下面是一段代码的演示:
对于我们在Linux下常用的BASH这个shell程序,它有自己的一套管理环境变量的方法。例如,通过$NAME来访问相应的环境变量,通过export来设置环境变量,下面是一个实例:
[hwang@langchao linuxprogram]$ echo $HOME /home/hwang [hwang@langchao linuxprogram]$ export MYNAME="Luster" [hwang@langchao linuxprogram]$ echo $MYNAME Luster [hwang@langchao linuxprogram]$
而在我们的应用程序里面,如果需要访问一个环境变量,我们可以通过getenv()这个函数来实现,getenv这个函数在这个头文件中声明。这个函数的输入参数是需要访问的变量名字,得到的返回值是一个字符串,如果所访问的环境变量没有设置,则会返回NULL。如果需要在程序里面设置某个环境变量,则可以使用setenv这个函数,如果是要清除某个特定的环境变量,金冠娱乐城http://haochen-cn.com则使用unsetenv这个函数。它们的函数原型如下:
#include char *getenv(const char *name); int setenv(const char *name, const char *value, int overwrite); void unsetenv(const char *name);
值得一提的是,GNU C函数库里面有一个特殊的全局的变量,名字叫做environ,这个变量的类型是char **,它所指向的是所有的环境变量的一个列表,最后是以NULL结尾。每个字符串都是“VALUE=value”这样的形式。例如下面的程序可以打印出当前运行环境里面的所有的环境变量:
#include extern char**environ; int main () { char**var; for (var =environ;*var !=NULL;++var) printf (“%s “,*var); return 0; }
注意,如果你需要修改某个环境变量,不要直接修改environ这个变量,而应该使用setenv或者unsetenv这样的管理函数来做这件事情。
一般来说,当一个程序启动的时候,它就会拷贝一份启动它的“父”程序所拥有的环境变量。环境变量是GNU程序常用来配置某个应用程序的行为的一个方法,例如,通过环境变量来设置HTTP代理的地址和端口号等等。下面是一段代码的演示:
#include #include int main () { char *server_name =getenv (“SERVER_NAME ”); if (server_name ==NULL) server_name =“server.my-company.com ”; printf (“accessing server %s ”,server_name); return 0; }
相关文章推荐
- Linux如何处理当前运行环境的环境变量
- 如何在 Linux 上运行命令前临时清空 Bash 环境变量
- 如何查看linux下的环境变量
- 解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
- linux下如何设置环境变量PATH
- 如何在linux中改u-boot的环境变量--fw_setenv
- linux下如何设置环境变量PATH
- linux下如何设置和查看系统环境变量
- Linux操作系统下三种配置环境变量的方法(Linux查看环境变量当前信息和查看命令)
- Linux有问必答:如何在Linux中修改环境变量PATH
- 在linux 系统的inittab系统服务器中运行程序需要设置环境变量
- 如何配置jdk1.5的环境变量及运行java程序 JAVA_HOME等
- 如何设置LINUX下的环境变量
- Linux如何修改环境变量PATH,以及系统登录时读取文件的顺序
- Linux下如何设置环境变量
- 理解Linux环境变量及配置文件执行顺序 博客分类: Linux 每个用户都有自己专属的运行环境,这个环境是由一组变量所定义,这些变量称之为环境变量。用户可以修改环境变量以满足自己的要求。
- 玩转Linux_Linux如何添加环境变量_GCC编译器怎么添加INCLUDE与LIB环境变量
- Unix/Linux环境C编程入门教程(22) C/C++如何获取程序的运行时间
- 在shell环境中,如何查看远程Linux系统运行了多少时间?
- Linux 中如何设置Java环境变量(Ubuntu)