环境文件

用途

用于设置用户环境。

描述

/etc/environment 文件包含指定所有进程的基本环境的变量。 当新进程开始时, 执行 子例程使一个字符串数组可用,其格式为 姓名=。 此字符串数组称为 "环境"。 其中一个字符串定义的每个名称称为一个环境变量 Shell 变量执行 子例程允许对整个环境进行一次设置。

在命令开始运行时检查环境变量。 不会通过更改 /etc/environment 文件来更改进程的环境。 如果更改将对 /etc/environment 文件生效,那么必须重新启动在更改之前启动的任何进程。 如果更改了 TZ 变量,那么必须重新启动 Cron 守护程序,因为此变量用于确定当前本地时间。

在修改 环境 文件时,以下限制适用:

  • 确保新创建的环境变量与标准变量 (例如 邮件PS1PS2IFS) 不冲突。
  • 确保 环境 文件中的信息是 姓名= 格式的。 与 概要文件 脚本不同, 环境 文件不是 shell 脚本,并且不接受除 姓名= 格式之外的任何格式的数据。

基本环境

登录时,系统会先从 环境 文件设置环境变量,然后再读取登录概要文件 .profile

以下变量组成基本环境:

变量 描述
HOME 用户登录目录或 主目录 目录的完整路径名。 login 程序将此设置为 /etc/passwd 文件中指定的名称。
LANG 当前有效的语言环境名称。 LANG 变量是在安装时在 /etc/environment 文件中设置的。
NLSPATH 消息编目的完整路径名。 缺省值为:

/usr/lib/nls/msg/%L/%N:

/usr/lib/nls/msg/%L/%N.cat:

其中, %LLC_MESSAGES 类别的值, %N 是商品目录文件名。
注: 请参阅 切朗 命令以获取有关更改消息目录的更多信息。
LC__FASTMSG 如果 LC_FASTMEG 设置为 false,那么将执行符合 POSIX的消息处理。 如果 LC__FASTMSG 设置为 true,那么它指定应该将缺省消息用于 C 和 POSIX 语言环境,并且将忽略 NLSPATH 。 如果此变量设置为除 取消设置之外的任何其他值,那么会将其视为与设置为 相同。 在 /etc/environment 文件中,缺省值为 LC__FASTMSG=true
LOCPATH “本地语言支持表”的位置的完整路径名。 缺省值为 /usr/lib/nls/loc ,并在 /etc/profile 文件中设置。 如果 位置路径 变量是空值,那么它假定当前目录包含语言环境文件。
注: 所有 设置标识设置标识 程序都将忽略 位置路径 环境变量。
路径 在查找路径名不完整的命令时,命令 (例如 时间诺胡特 命令) 所搜索的目录序列。 以冒号分隔目录名称。
TZ 时区的信息。 TZ 环境变量由 /etc/environment 文件设置。 TZ 环境变量具有以下格式 (插入空格以提高可读性):
std offset dst offset , rule

TZ 环境变量中的字段定义为如下所示:

斯特德德斯特
指定标准时区 (斯特德) 和夏季时区 (德斯特)。 只有 斯特德 值以及相应的 偏移 值是必需的。 如果未指定 德斯特 值,那么夏季时间将不适用。 指定的值长度不得少于 3 个字节,也不得超过 TZNAME_MAX 个字节。 变量的长度对应于以下值:%Z日期 命令的字段; 对于 利布克利布卜德TZNAME_MAX 等于三个字符。 可以在每个字段中输入除以下字符之外的任何非数字 ASCII 字符: 前导: (冒号) , a , (逗号) , a-(减号) , + (加号) 或 ASCII 空字符。
注: POSIX 1.0 保留实现定义的 TZ 规范的前导: (冒号)。 操作系统不允许使用前导冒号,选择 CUT0 并设置%Z字段为空字符串。

以下是 斯特德德斯特 格式的一个示例:

EST5EDT 
注: 如果设置的值无效或无法识别,那么时区将缺省为 UTC/GMT。
EST 指定东部 U.S标准时间。
5 指定偏移量,比全球标准时间 (CUT) 晚 5 个小时 5
EDT
指定相应的夏季时区缩写。
注: 请参阅 "时区" 以获取为系统定义的时区名称的列表。
偏移
表示添加到本地时间等于全球标准时间 (CUT) 的值。 CUT 是国际时间标准,已在很大程度上取代格林威治标准时间。 偏移 变量的格式如下所示:
hh:mm:ss

偏移 变量中的字段定义为如下所示:

hh 指定 德斯特 偏移量 (以小时为单位)。 此字段是必需的。 该hh值可以在整数 -12 和 +11 之间。 负值表示该时区在本初子午线的以东; 正值或无值表示该时区在本初子午线的以西。
mm 指定详细到分钟的 德斯特 偏移量。 这个字段是可选的。 如果mm值存在 0 它必须在 0 到 59 之间指定,并以: (冒号) 开头。
ss
指定详细到秒的 德斯特 偏移量。 该ss字段是可选的。 如果ss值存在 0 它必须在 0 到 59 之间指定,并以: (冒号) 开头。

必须将 偏移 变量与 斯特德 变量一起指定。 德斯特 变量的 偏移 变量是可选的。 如果未使用 德斯特 变量指定偏移量,那么系统会假定夏季时间比标准时间提前一小时。

作为偏移语法的示例,苏黎世比CUT时间早一小时,因此其偏移量为 -1。 纽芬兰比东部标准时区 U.S 早 1.5 小时。 它的语法可以表示为下列任何一项: 3:30 , 03:30 , + 3:30 或 3:30:00。

规则
规则 变量指示何时更改为夏季时间以及何时更改为夏季时间。 规则 变量的格式如下所示:
start/time,end/time

规则 变量中的字段定义为如下所示:

start 指定从标准时间更改为夏季时间。
end 指定从夏季时间返回到标准时间。
time 指定时区内发生时间更改的时间。 例如,如果该time变量已针对 2 a.m进行编码。 那么当时区达到 2 a.m时,时间将发生更改。 在该日期或该日期start变量。
/ 对开始日期,结束日期和时间变量进行定界。
,
(逗号) 取消两个日期和时间对的限制。
startend变量支持儒略时间的语法 (J) 以及用于跨年的语法 (M):
Jn
Mm.n.d

J语法n变量的值 1 1 到 365。 跳跃天数不计算在内。 在M语法,m是月份,n周,以及d从第 0 天 (星期日) 开始的一周中的某天。

规则 变量的格式与 偏移 变量的格式相同,但不允许任何前导-(减号) 或 + (加号)。 缺省值为start变量为 02:00:00 (2 a.m.)。
注: 时区偏移量和时间更改点相互关联,并且依赖于上下文。 规则 变量的运行时执行语义会更改为偏移量的函数。 例如,如果夏季时区更改为 1 小时,那么如CST6CDT5, (缺省值 2 a.m。) 夏季时间从 2 a.m瞬间更改。 到 3 a.m。 CDT。 秋季更改来自 2 a.m。 CDT 到 1 a.m。 科技委。 以下时间区域的相应更改:CST6CDT4是 2 a.m。 CST 到 4 a.m。 CDT 和 2 a.m。 CDT 到 12 a.m。 科技委。

规则 变量的示例中,如果法律发生更改,使美国中部经历了 Julian 129 到 Julian 131 之间的夏季时间,那么 TZ 变量将如下所示:

TZ=CST6CDT5,J129,J131

在此示例中,指示的日期分别为 2009 年 5 月 9 日和 1993 年 5 月 11 日。 (使用 日期 +%j 命令获取儒略历日期编号。)

在另一个示例中,如果时间更改发生在 2 a.m。 CST 和 19:30 CDT 的变量将分别声明如下:

TZ=CST6CDT5,J129,J131/19:30

在非跳跃年,回退时间将从 1993 年 5 月 11 日的 19:30 CDT 更改为 18:30 CST。

对于跨年 (M) 语法,春季提前日期为 5 月 2 日,回退日期 9 5 月 9 日。 这些变量如下所示:

TZ=CST6CDT5,M5.1.0,M5.2.0

时区

系统定义了以下时区和时区名称:

注: 全球标准时间 (CUT) 是国际时间标准。
表 1. 系统上定义的时区
姓名 时区 CUT 偏移量
CUT0GDT 全球标准时间 切断
GMT0BST 英国时间 切断
WET0WEST 西欧 切断
AZOREST1AZOREDT 佛得角亚速尔 剪切 -1
FALKST2FALKDT 福兰克群岛 剪切 -2
GRNLNDST3GRNLNDDT 格陵兰,东巴西 剪切 -3
AST4ADT 巴西中部 剪切 -4
EST5EDT 美国东部,哥伦比亚 剪切 -4
CST6CDT 美国中部,洪都拉斯 剪切 -6
MST7MDT 美国山区 剪切 -7
PST8PDT 美国太平洋地区,育空地区 剪切 -8
AST9ADT 阿拉斯加州 剪切 -9
HST10HDT 夏威夷,阿留申群岛 CUT -10
BST11BDT 贝林海峡 剪切 -11
NZST-12NZDT 新西兰 CUT +12
描述
MET-11METDT 所罗门群岛 CUT +11
EET-10EETDT 澳大利亚东部 CUT +10
JST-9JSTDT 日本 CUT + 9
KORST-9KORDT 韩国 CUT + 9
WAUST-8WAUDT 西澳大利亚 CUT + 8
TAIST-8TAIDT 中国台湾 CUT + 8
THAIST-7THAIDT 泰国 CUT + 7
TASHST-6TASHDT 中亚 6 cUT + 6
PAKST-5PAKDT 巴基斯坦 CUT + 5
WST-4WDT 戈尔基,中亚,阿曼 4 cUT + 4
MEST-3MEDT 土耳其 CUT + 3
SAUST-3SAUDT 沙特阿拉伯 CUT + 3
EET-2EEST 东欧 2 cUT + 2
USAST-2USADT 南非 2 cUT + 2
CET-1CEST 中欧 CUT + 1

文件

描述
/etc/profile 指定要由 shell 添加到环境中的变量。
/etc/environment 指定所有进程的基本环境。
$HOME/.profile 指定特定用户需求的环境。
/etc/passwd 指定用户标识。