第十六篇:Linux系统编程中环境变量的使用
前言
在 UNIX Like 系统中,存有各类系统/应用程序的环境变量,可通过修改之改变系统/应用程序的执行效果;除此之外,用户还可以定义自己的环境变量,供自己写的程序使用。
本文将说明如何在程序中设置以及读取这些环境变量。
获取环境变量函数:getenv
原型:char * getenv (const char *name)
包含于:stdlib.h
作用:获取名为 name 的环境变量的值并返回指向它的值的指针。
设置环境变量函数:setenv
原型:int setenv (const char *name, const char *value, int rewrite)
包含于:stdlib.h
作用:设置一个名为 name,值为 value 的环境变量。如果已经存在同名环境变量,则 rewrite 为 1 时重写,为 0 时不重写。
删除环境变量函数:unsetenv
原型:int unsetenv (const char *name)
包含于:stdlib.h
作用:删除名为 name 的环境变量
代码实现
下程序设置一个名为 FANGMENG 的变量值为 funny,然后打印出来:
#include <stdio.h>
int main (void) {
// 设置环境变量 - FANGMENG
setenv("FANGMENG", "funny", );
// 打印此环境变量
printf("%s\n", getenv("FANGMENG"));
// 删除此环境变量
unsetenv("FANGMENG");
return ;
}
运行测试

小结
编译时候会有警告,说 getenv 函数返回的是个整数。不用理会它。
第十六篇:Linux系统编程中环境变量的使用的更多相关文章
- Linux 系统编程中环境变量的使用
前言 在 UNIX Like 系统中,存有各类系统/应用程序的环境变量,可通过修改之改变系统/应用程序的执行效果:除此之外,用户还可以定义自己的环境变量,供自己写的程序使用.本文将说明如何在程序中设置 ...
- Linux系统下修改环境变量PATH路径的三种方法
这里介绍Linux的知识,比如把/etc/apache/bin目录添加到PATH中有三种方法,看完之后你将学会Linux系统下如何修改环境变量PATH路径,需要的朋友可以参考下 电脑中必不可少的就是操 ...
- Linux系统下配置环境变量
一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...
- Linux系统——访问U-BOOT环境变量
Linux系统下访问U-BOOT环境变量 移植过U-BOOT的人,都知道:在U-BOOT中存有ENV.但U-BOOT在引导内核启动之后,U-BOOT的生命周期就结束了.那么启动LINUX内核之后,U- ...
- python学习之【第十六篇】:Python中的常用模块之OS模块、sys模块、random模块
1. OS模块 OS模块是与操作系统交互的一个接口.内部提供了以下方法: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname& ...
- Linux系统修改PATH环境变量方法
在Linux安装一些软件通常要添加路径环境变量PATH.PATH环境变量通俗的讲就是把程序的路径"备案"到系统中,这样执行这些程序时就不需要输入完整路径,直接在bash输入程序名就 ...
- Linux系统下修改环境变量PATH路径
方法一: PATH=$PATH:/etc/apache/bin 该方法只对当前会话有效,每次注销或者拿出系统,该设置就会无效 方法二: vi /etc/profile 在适当的位置写入:PATH=$P ...
- linux系统可执行文件添加环境变量使其跨终端和目录执行
在命令行终端输入:echo $PATH 回车可打印出PATH变量对应的路径 现有一可执行文件qtFirstC,文件所在目录为:/home/lolors/qtFirstC 此时test只能在此目录下运行 ...
- 十六、linux系统网络基础
1.网络是由IP构成的:network + host,以至于我们使用网络向外发信息,不会发错. 2.子网掩码这里要知道两点: 1)子网掩码不可能出现交叉部分,换句话说不会出现01010101的交叉现象 ...
随机推荐
- “cvc-complex-type.2.4.a: Invalid content was found starting with element 'taglib'”错误的解决办法
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" ...
- 微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”
这些代码也就开始认证的时候用一次,以后就不用了: const string Token = "XXXXX";//你的token protected void Page_Load(o ...
- Redis配置和常用命令
redis.conf配置文件: 引用 #是否作为守护进程运行 daemonize yes #配置pid的存放路径及文件名,默认为当前路径下 pidfile redis.pid #Redis默认监听端口 ...
- jsp常用标签和标签库及javaBean规范
1 常用标签forward,pararm,include <jsp:forward page=""></jsp:forward> <jsp:param ...
- [Jobdu] 题目1377:缓变序列
题目描述: 陈博在写论文时碰到一个难题:如何将给定的整数序列变换成缓变序列:即任意两个相邻的元素相差均为1,第1个元素和最后一个元素相差也为1. 变换是指改变原整数序列中各元素的顺序.例如整数序列1, ...
- vim资源帖
vimscript教程 http://learnvimscriptthehardway.stevelosh.com/ 阿信的vimscript http://www.axiaoxin.com/arti ...
- Android实战简易教程-第二十三枪(基于Baas的用户注冊验证username是否反复功能!)
接上一篇,加入验证用户名是否已经注冊功能! 仅仅须要改动MainActivity.java: package com.example.logintest; import java.util.List; ...
- int、char、long各占多少字节数
Java基本类型占用的字节数:1字节: byte , boolean2字节: short , char4字节: int , float8字节: long , double 编码与中文:Unicode/ ...
- 优化神器 beamoff
http://files.cnblogs.com/files/yipu/beamoff.zip csdn上有下载:http://download.csdn.net/download/bytige/83 ...
- cocos2d-x onMouseMove中CCTouch *pTouch参数的细节
/**************************************************************************** Copyright (c) 2010 coc ...