环境变量-鸿鹄论坛_华为认证h35-211-hcnp-access network题库
环境变量如同前述,环境字符串的形式是:name=value。UNIX内核并不关心这种字符串的意义,它们的解释完全取决于各个应用程序。例如,shell使用了大量的环境变量。其中某一些在登录时自动设置(如HOME,USER等),有些则由用户设置。我们通常在一个shell起动文件中设置环境变量以控制shell的动作。
例如,若设置了环境变量MAILPATH,则它告诉Bourne shell和Korn Shell到哪里去查看邮件。ANSI C定义了一个函数getenv,可以用其取环境变量值,但是该标准又称环境的内容是由实现定义的。#include
返回:指向与name关联的value的指针,若未找到则为NULL。注意,此函数返回一个指针,它指向name=value字符串中的value。我们应当使用getenv从环境中取一个环境变量的值,而不是直接存取environ。
POSIX.1和XPG3定义了某些环境变量。表7-1列出了由这两个标准定义并受到SVR4和4.3+BSD支持的环境变量。SVR4和4.3+BSD还使用了很多依赖于实现的环境变量。FIPS 151-1要求登录shell必须要定义环境变量HOME和LOGNAME。
表7-1环境变量:变量标准实现说明
-
POSIX.1,XPG3,SVR4,4.3+BSD
-
HOME:起始目录
-
LANG:本地名
-
LC_ALL:本地名
-
LC_COLLATE:本地排序名
-
LC_CTYPE:本地字符分类名
-
LC_MONETARY:本地货币编辑名
-
LC_NUMERIC:本地数字编辑名
-
LC_TIME:本地日期/时间格式名
-
LOGNAME:登录名
-
NLSPATH:消息类模板序列
-
PATH:搜索可执行文件的路径前缀表
-
TERM:终端类型
-
TZ:时区信息
为进一步了解POSIX标准和环境变量的应用,以下是几个相关的资源: