动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 操作系统 > Linux教程
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Linux教程 ]的信息



本月文章推荐
.新手学堂:Linux操作系统下文件路.
.解决在Ubuntu中无法激活中文输入.
.口袋里的Linux:在您的U盘上运行.
.Linux系统下以模块方式安装卸载文.
.Ubuntu、Fedora、Mandriva Linux.
.在Linux下成功运行最新的QQ和MSN.
.Linux 网管 123 --- 第4章. 安装.
.Linux如何在系统运行过程中修改内.
.ARM Linux开机后自动运行特定程序.
.详解Linux操作系统设备驱动兼容性.
.Linux操作系统文件系统的桌面应用.
.vmware 配置实例-linux host + .
.几个重要的Linux系统内核文件介绍.
.Linux操作系统中关于crontab的日.
.Linux Remote-Boot mini-HOWTO.
.Ubuntu 8.04 LTS至Ubuntu 11.04 .
.无线技术在Linux操作系统中的应用.
.在Linux操作系统上运行Windows应.
.xf86config使用说明.
.Linux操作系统下的常见系统资源共.

Linux如何处理当前运行环境的环境变量

发表日期:2006-10-19 |


  GNU/Linux下面每个程序运行都有一个所谓的运行环境,这里的环境实际上就是一组变量的定义。所有的变量和他们的值都是字符串形式表达的。通过转换,通常变量名字都是用大写字符表达。

  对于环境变量大家都不陌生,例如,我们都很熟悉的HOME这个环境变量,这个变量指示的当前用户的个人用户目录的路径。又例如,PATH这个环境变量,它指示出当前Linux系统搜索的的执行文件的路径列表。

  对于我们在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这个函数,如果是要清除某个特定的环境变量,则使用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脚本开发数学库在PHP中的重要性 人气:3903
下一篇:Linux系统出现乱码问题的终极解决方法 人气:4532
浏览全部Linux的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-23 Menalto Gallery v2.3 Rc1 多国语
2008-7-23 深度学习网址导航系统 v2.6.1
2008-7-23 因特达crm2008客户关系管理系统
2008-7-23 60度 CMS v1.0 Build 080723
2008-7-23 幻影动漫网视频系统(Ppdong) v1.
2008-7-23 好易祝福墙 2008
2008-7-23 APJE私服发布系统 v2.0 PHP版
2008-7-23 毕业论文在线指导系统源码
2008-7-23 Jacky法律在线网站源码
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵