Sets up the user environment.
The /etc/environment file contains variables specifying the basic environment for all processes. When a new process begins, the exec subroutine makes an array of strings available that have the form Name=Value. This array of strings is called the environment. Each name defined by one of the strings is called an environment variable or shell variable. The exec subroutine allows the entire environment to be set at one time.
Environment variables are examined when a command starts running. The environment of a process is not changed by altering the /etc/environment file. Any processes that were started prior to the change to the /etc/environment file must be restarted if the change is to take effect for those processes. If the TZ variable is changed, the cron daemon must be restarted, because this variable is used to determine the current local time.
The following restrictions apply, when modifying the environment file:
- Ensure that newly created environment variables do not conflict with standard variables such as MAIL, PS1, PS2, and IFS.
- Ensure that the information in the environment file is in the Name=Value format. Unlike profile scripts, the environment file is not a shell script and does not accept data in any format other than the Name=Value format.
The Basic Environment
When you log in, the system sets environment variables from the environment file before reading your login profile, .profile.
The following variables make up the basic environment:
|HOME||The full path name of the user login or HOME directory. The login program sets this to the name specified in the /etc/passwd file.|
|LANG||The locale name currently in effect. The LANG variable is set in the /etc/environment file at installation time.|
|NLSPATH|| The full path name for message catalogs. The default is:
where %L is the value of the LC_MESSAGES category and %N is the catalog file name.
Note: See the chlang command for more information about changing message catalogs.
|LC__FASTMSG||If LC_FASTMEG is set to false, POSIX-compliant message handling is performed. If LC__FASTMSG is set to true, it specifies that default messages should be used for the C and POSIX locales and that NLSPATH is ignored. If this variable is set to anything other than false or unset, it is considered the same as being set to true. The default value is LC__FASTMSG=true in the /etc/environment file.|
|LOCPATH|| The full path name of the location of National Language Support
tables. The default is /usr/lib/nls/loc and is set in the /etc/profile file. If the LOCPATH variable is a null value,
it assumes that the current directory contains the locale files.
Note: All setuid and setgid programs will ignore the LOCPATH environment variable.
|PATH||The sequence of directories that commands such as the sh, time, nice and nohup commands search when looking for a command whose path name is incomplete. The directory names are separated by colons.|
|TZ|| The time-zone information. The TZ environment variable
is set by the /etc/environment file. The TZ environment
variable has the following format (spaces inserted for readability):
The fields within the TZ environment variable are defined as follows:
|EST||Specifies Eastern U.S. standard time.|
|5|| Specifies the offset, which is 5 hours behind Coordinated
Universal Time (CUT).
Note: See "Time Zones" for a list of time zone names defined for the system.
|hh||Specifies the dst offset in hours. This field is required. The hh value can range between the integers -12 and +11. A negative value indicates the time zone is east of the prime meridian; a positive value or no value indicates the time zone is west of the prime meridian.|
|mm|| Specifies the dst offset detailed to the minute. This
field is optional. If the mm value is present, it must be
specified between 0 and 59 and preceded by a : (colon).
An offset variable must be specified with the std variable. An offset variable for the dst variable is optional. If no offset is specified with the dst variable, the system assumes that summer time is one hour ahead of standard time.
As an example of offset syntax, Zurich is one hour ahead of CUT, so its offset is -1. Newfoundland is 1.5 hours ahead of eastern U.S. standard time zones. Its syntax can be stated as any of the following: 3:30, 03:30, +3:30, or 3:30:00.
|start||Specifies the change from standard to summer time.|
|end||Specifies the return to standard time from summer time.|
|time||Specifies when the time changes occur within the time zone. For example, if the time variable is encoded for 2 a.m. then the time changes when the time zone reaches 2 a.m. on the date specified in the start variable.|
|/|| Delimits the start date, end date, and time variables.
The start and end variables support a syntax for Julian time (J) and a syntax for leap years (M):
In the J syntax, the n variable has the value of 1 through 365. Leap days are not counted. In the M syntax, m is the month, n the week, and d the day of the week starting from day 0 (Sunday).
The rule variable has the same format as the offset variable except no leading - (minus sign) or + (plus sign) is allowed. The default of the start variable is 02:00:00 (2 a.m.).
Note: The time zone offsets and time change points are interrelated and context-dependent. The rule variable's runtime execution semantics change as a function of the offsets. For example, if the summer time zone changes one hour, as in CST6CDT5, (the default 2 a.m.) summer time changes instantaneously from 2 a.m. to 3 a.m. CDT. The fall change is from 2 a.m. CDT to 1 a.m. CST. The respective changes for a time zone of CST6CDT4 are 2 a.m. CST to 4 a.m. CDT and 2 a.m. CDT to 12 a.m. CST.
In an example of the rule variable, if the law changed so that the Central United States experienced summer time between Julian 129 and Julian 131, the TZ variable would be stated as follows:
In this example, the dates indicated are May 09 and May 11,1993, respectively. (Use the date +%j command to get the Julian date number.)
In another example, if the time changes were to occur at 2 a.m. CST and 19:30 CDT, respectively, the variables would be stated as follows:
In nonleap years, the fallback time change would be from 19:30 CDT to 18:30 CST on May 11 (1993).
For the leap year (M) syntax, the spring ahead date would be 2 May and the fallback date is 9 May. The variables are stated as follows:
The system defines the following time zones and time zone names:
|Name||Time Zone||CUT Offset|
|CUT0GDT||Coordinated Universal Time||CUT|
|AZOREST1AZOREDT||Azores, Cape Verde||CUT -1|
|FALKST2FALKDT||Falkland Islands||CUT -2|
|GRNLNDST3GRNLNDDT||Greenland, East Brazil||CUT -3|
|AST4ADT||Central Brazil||CUT -4|
|EST5EDT||Eastern United States, Colombia||CUT -4|
|CST6CDT||Central United States, Honduras||CUT -6|
|MST7MDT||Mountain United States||CUT -7|
|PST8PDT||Pacific United States, Yukon||CUT -8|
|HST10HDT||Hawaii, Aleutian Islands||CUT -10|
|BST11BDT||Bering Strait||CUT -11|
|NZST-12NZDT||New Zealand||CUT +12|
|MET-11METDT||Solomon Islands||CUT +11|
|EET-10EETDT||Eastern Australia||CUT +10|
|WAUST-8WAUDT||Western Australia||CUT +8|
|TASHST-6TASHDT||Central Asia||CUT +6|
|WST-4WDT||Gorki, Central Asia, Oman||CUT +4|
|SAUST-3SAUDT||Saudi Arabia||CUT +3|
|EET-2EEST||Eastern Europe||CUT +2|
|USAST-2USADT||South Africa||CUT +2|
|CET-1CEST||Central Europe||CUT +1|