码迷,mamicode.com
首页 > 其他好文 > 详细

环境变量

时间:2019-04-19 21:24:44      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:组成   界面   class   主目录   div   clu   out   --   本质   

环境变量

环境变量: 在操作系统中用来指定操作系统运行环境的一些参数. 通常具备以下特征: (1) 字符串(本质); (2) 有统一的格式: 名=值[:值]; (3) 值用来描述进程环境信息

存储形式: 命令行参数类似. char *[]数组, 数组名: environ, 内部存储字符串, NULL作为结尾

使用形式: 与命令行参数类似

加载位置: 与命令行参数类似. 位于用户区, 高于stack的起始位置

引入环境变量表: 必须声明环境变量: extern char ** environ;

常见环境变量

按照惯例, 环境变量字符串都是name=value这样的形式, 大多数name有大写字母加下划线组成, 一般把name的部分叫做环境变量, value的部分则是环境变量的值. 环境变量定义了进程的运行环境, 一些比较重要的环境变量的含义如下:

PATH

可执行文件的搜索路径. ls命令也是一个程序, 执行它不需要提供完整的路径名/bin/ls. 然而执行当前目录下的程序a.out却需要提供完整的路径名./a.out, 这是因为PATH环境变量的值里包含了ls命令所在的目录/bin, 却不包含a.out所在的目录. PATH环境变量的值可以包含多个目录, 用:隔开. 在shell中使用echo $PATH可查看PATH的值

SHELL

当前shell, 它的值通常是/bin/bash

TERM

当前终端类型, 在图形界终端界面下它的值通常是xterm, 终端类型决定了一些程序的输出显示方式, 比如图形界面可以显示汉字, 而字符终端一般不行

LANG

语言和locale, 决定了字符编码以及时间, 货币等信息的显示格式

HOME

当前用户主目录的路径, 很多程序需要在主目录下保护保存配置文件, 使得每个用户在运行该程序时都有一个自己的一套配置

环境变量相关函数

#include <stdlib.h>

getenv

char *getenv(const char *name);
获取环境变量的值
返回:
  成功: 返回环境变量的值
  失败: NULL

setenv

int setenv(const char *name, const char *value, int overwrite);
设置环境变量的值
参数:
  overwrite: 1 --> 覆盖原有环境变量; 0 --> 不覆盖
返回值: 成功 0, 失败 -1

unsetenv

int unsetenv(const char *name);
删除环境变量name的定义
返回值: 成功 0, 失败 -1
注意事项: name不存在仍返回0(成功), 当name命名为"ABC="时则会报错

环境变量

标签:组成   界面   class   主目录   div   clu   out   --   本质   

原文地址:https://www.cnblogs.com/hesper/p/10738797.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!