专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Linux » linux环境变量:LInux 应用程序如何处理当前运行环境的环境变量 »正文

linux环境变量:LInux 应用程序如何处理当前运行环境的环境变量

来源: 发布时间:星期四, 2009年2月12日 浏览:64次 评论:0



  Linux 应用如何处理当前运行环境环境变量
  
    GNU/Linux下面每个运行都有个所谓运行环境这里环境实际上就是组变量定义所有变量和他们值都是串形式表达通过转换通常变量名字都是用大写表达
  
    对于环境变量大家都不陌生例如我们都很熟悉HOME这个环境变量这个变量指示当前用户个人用户目录路径又例如PATH这个环境变量它指示出当前Linux系统搜索执行文件路径列表
  
    对于我们在Linux下常用BASH这个shell它有自己套管理环境变量思路方法例如通过$NAME来访问相应环境变量通过export来设置环境变量下面是个例子:
  
  [hwang@langchao program]$ echo $HOME
  /home/hwang
  [hwang@langchao program]$ export MYNAME="Luster"
  [hwang@langchao linuxprogram]$ echo $MYNAME
  Luster
  [hwang@langchao linuxprogram]$
  
    而在我们应用里面如果需要访问个环境变量我们可以通过getenv()这个来实现getenv这个在这个头文件中声明这个输入参数是需要访问变量名字得到返回值是如果所访问环境变量没有设置则会返回NULL如果需要在里面设置某个环境变量则可以使用env这个如果是要清除某个特定环境变量则使用unenv这个它们原型如下:
  
   #
   char *getenv(const char *name);
   env(const char *name, const char *value, overwrite);
   void unenv(const char *name);
  
    值得GNU C库里面有个特殊全局变量名字叫做environ这个变量类型是char **它所指向是所有环境变量个列表最后是以NULL结尾每个串都是“VALUE=value”这样形式例如下面可以打印出当前运行环境里面所有环境变量:
  
  #
  extern char**environ;
  
  {
   char**var;
   for (var =environ;*var !=NULL;var)
   prf (“%s
   “,*var);
   0;
  }
  
    注意如果你需要修改某个环境变量不要直接修改environ这个变量而应该使用env或者unenv这样管理来做这件事情
  
    般来说启动时候它就会拷贝份启动它“父”所拥有环境变量环境变量是GNU常用来配置某个应用行为个思路方法例如通过环境变量来设置HTTP代理地址和端口号等等下面是段代码演示:
  
  #
  #
  
  {
   char *server_name =getenv (“SERVER_NAME ”);
   (server_name NULL)
   server_name =“server.my-company.com ”;
   prf (“accessing server %s
   ”,server_name);
  
   0;
  }
  
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: