Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
environ(5)	      Standards, Environments, and Macros	    environ(5)

       environ - user environment

       When  a	process	 begins	execution, one of the exec family of functions
       makes available	an  array  of  strings	called	the  environment;  see
       exec(2).	By convention, these strings have the form variable=value, for
       example,	PATH=/sbin:/usr/sbin. These environmental variables provide  a
       way to make information about a program's environment available to pro-

       A name may be placed in the  environment	 by  the  export  command  and
       name=value  arguments  in sh(1),	or by one of the exec functions. It is
       unwise to conflict with certain shell variables such as MAIL, PS1, PS2,
       and IFS that are	frequently exported by .profile	files; see profile(4).

       The  following  environmental variables can be used by applications and
       are expected to be set in the target run-time environment.


	   The name of the user's login	directory, set by  login(1)  from  the
	   password file; see passwd(4).


	   The	string	used  to specify internationalization information that
	   allows users	to work	with different national	conventions. The  set-
	   locale(3C) function checks the LANG environment variable when it is
	   called with "" as the locale	argument.  LANG	is used	as the default
	   locale  if  the corresponding environment variable for a particular
	   category is unset or	null. If, however,  LC_ALL is set to a	valid,
	   non-empty  value,  its  contents are	used to	override both the LANG
	   and the other LC_* variables. For example, when invoked  as	setlo-
	   cale(LC_CTYPE, ""), setlocale() will	query the LC_CTYPE environment
	   variable first to see if it is set and non-null. If LC_CTYPE	is not
	   set or null,	then setlocale() will check the	LANG environment vari-
	   able	to see if it is	set and	non-null. If both  LANG	 and  LC_CTYPE
	   are	unset  or NULL,	the default "C"	locale will be used to set the
	   LC_CTYPE category.

	   Most	commands will invoke setlocale(LC_ALL, "") prior to any	 other
	   processing.	This  allows the command to be used with different na-
	   tional conventions by setting  the  appropriate  environment	 vari-

	   The	following environment variables	correspond to each category of


	       If set to a valid, non-empty string value, override the	values
	       of LANG and all the other LC_*variables.


	       This  category specifies	the character collation	sequence being
	       used.  The information corresponding to this category is	stored
	       in  a database  created by the localedef(1) command.   This en-
	       vironment variable affects strcoll(3C) and strxfrm(3C).


	       This category  specifies	 character  classification,  character
	       conversion,  and	 widths	of multibyte characters. When LC_CTYPE
	       is set to a valid value,	the calling utility  can  display  and
	       handle text and file names containing valid characters for that
	       locale;	 Extended Unix Code (EUC) characters where  any	 indi-
	       vidual  character can be	1, 2, or 3 bytes wide; and EUC charac-
	       ters of 1, 2, or	3 column widths. The default "C" locale	corre-
	       sponds  to  the 7-bit ASCII character set; only characters from
	       ISO 8859-1 are valid. The  information  corresponding  to  this
	       category	 is  stored  in	 a database created by the localedef()
	       command.	 This  environment  variable  is  used	by  ctype(3C),
	       mblen(3C), and many commands, such as cat(1), ed(1), ls(1), and


	       This category specifies the language of	the  message  database
	       being  used.  For  example, an application may have one message
	       database	with French messages, and another database with	German
	       messages.  Message  databases are created by the	mkmsgs(1) com-
	       mand. This environment variable is used by exstr(1), gettxt(1),
	       srchtxt(1), gettxt(3C), and gettext(3C).


	       This  category  specifies  the  monetary	symbols	and delimiters
	       used for	a particular locale.  The information corresponding to
	       this  category  is  stored  in  a  database  created by the lo-
	       caledef(1) command. This	environment variable is	 used  by  lo-


	       This  category  specifies the decimal and thousands delimiters.
	       The information corresponding to	this category is stored	 in  a
	       database	 created by the	localedef() command. The default C lo-
	       cale corresponds	to "." as the decimal delimiter	and  no	 thou-
	       sands  delimiter.  This environment variable is used by locale-
	       conv(3C), printf(3C), and strtod(3C).


	       This category specifies date and	time formats. The  information
	       corresponding  to  this category	is stored in a database	speci-
	       fied in localedef(). The	default	C locale corresponds  to  U.S.
	       date  and  time	formats.  This environment variable is used by
	       many commands and functions; for	example:  at(1),  calendar(1),
	       date(1),	strftime(3C), and getdate(3C).


	   Controls  which  standard  format message components	fmtmsg selects
	   when	 messages  are	displayed  to  stderr;	see    fmtmsg(1)   and


	   A colon-separated list of network identifiers. A network identifier
	   is a	character string used by the Network  Selection	 component  of
	   the	system	to provide application-specific	default	network	search
	   paths. A network identifier must consist of non-null	characters and
	   must	 have  a length	of at least 1. No maximum length is specified.
	   Network identifiers are normally chosen by the  system  administra-
	   tor.	 A network identifier is also the first	field in any /etc/net-
	   config file entry. NETPATH thus provides a link into	the  /etc/net-
	   config  file	 and the information about a network contained in that
	   network's entry. /etc/netconfig is maintained by the	system	admin-
	   istrator. The library routines described in getnetpath(3NSL)	access
	   the NETPATH environment variable.


	   Contains a sequence of templates which catopen(3C) and  gettext(3C)
	   use	when attempting	to locate message catalogs. Each template con-
	   sists of an optional	prefix,	one or	more  substitution  fields,  a
	   filename and	an optional suffix. For	example:


	   defines  that catopen() should look for all message catalogs	in the
	   directory /system/nlslib, where the catalog	name  should  be  con-
	   structed  from the name parameter passed to catopen(), %N, with the
	   suffix .cat.

	   Substitution	fields consist of a % symbol, followed	by  a  single-
	   letter keyword. The following keywords are currently	defined:

	   %N	    The	value of the name parameter passed to catopen().

	   %L	    The	value of LANG or LC_MESSAGES.

	   %l	    The	language element from LANG or LC_MESSAGES.

	   %t	    The	territory element from LANG or LC_MESSAGES.

	   %c	    The	codeset	element	from LANG or LC_MESSAGES.

	   %%	    A single % character.

	   An  empty  string is	substituted if the specified value is not cur-
	   rently defined. The separators "_" and "." are not included	in  %t
	   and %c substitutions.

	   Templates defined in	NLSPATH	are separated by colons	(:). A leading
	   colon or two	adjacent colons	(::) is	equivalent to  specifying  %N.
	   For example:


	   indicates  to  catopen() that it should look	for the	requested mes-
	   sage	catalog	in name, and /nlslib/$LANG/ For get-
	   text(), %N automatically maps to "messages".

	   If  NLSPATH	is unset or NULL, catopen() and	gettext() call	setlo-
	   cale(3C), which checks LANG and the	LC_* variables to  locate  the
	   message catalogs.

	   NLSPATH  will  normally  be	set  up	 on  a	system	wide basis (in
	   /etc/profile) and thus makes	the location  and  naming  conventions
	   associated  with  message catalogs transparent to both programs and


	   The sequence	of directory prefixes that  sh(1),  time(1),  nice(1),
	   nohup(1),  and  other utilities apply in searching for a file known
	   by an incomplete path name. The prefixes are	 separated  by	colons
	   (:).	login(1) sets PATH=/usr/bin. For more detail, see  sh(1).


	   Define severity levels and associate	and print strings with them in
	   standard format error messages;  see	  addseverity(3C),  fmtmsg(1),
	   and	fmtmsg(3C).


	   The	kind  of terminal for which output is to be prepared. This in-
	   formation is	used by	commands, such as  vi(1),  which  may  exploit
	   special capabilities	of that	terminal.


	   Timezone information. The contents of this environment variable are
	   used	by the functions ctime(3C), localtime(3C),  strftime(3C),  and
	   mktime(3C)  to  override  the default timezone. The value of	TZ has
	   one of the two formats (spaces inserted for clarity):



	   std offset dst offset, rule

	   If TZ is of the first format	(that is, if the first character is  a
	   colon  (:)),	 or  if	TZ is not of the second	format,	then TZ	desig-
	   nates  a  path  to	a   timezone   database	  file	 relative   to
	   /usr/share/lib/zoneinfo/, ignoring a	leading	colon if one exists.

	   Otherwise, TZ is of the second form,	which when expanded is as fol-


	   std and dst		   Indicate no less than three,	nor more  than
				   {TZNAME_MAX},  bytes	 that are the designa-
				   tion	for the	standard (std) or the alterna-
				   tive	 (dst,	such as	Daylight Savings Time)
				   timezone. Only std is required; if  dst  is
				   missing, then the alternative time does not
				   apply  in  this  timezone.  Each  of	 these
				   fields  can occur in	either of two formats,
				   quoted or unquoted:

				     o	In the quoted form, the	first  charac-
					ter  is	 the less-than ('<') character
					and the	last character is the greater-
					than  ('>')  character.	All characters
					between	these quoting  characters  are
					alphanumeric  characters from the por-
					table character	set in the current lo-
					cale,  the  plus-sign ('+') character,
					or the minus-sign ('-')	character. The
					std and	dst fields in this case	do not
					include	the quoting characters.

				     o	In the unquoted	form,  all  characters
					in these fields	are alphabetic charac-
					ters from the portable	character  set
					in the current locale.

				   The	interpretation	of these fields	is un-
				   specified if	 either	 field	is  less  than
				   three  bytes	 (except for the case when dst
				   is missing),	more than {TZNAME_MAX}	bytes,
				   or  if  they	 contain characters other than
				   those specified.

	   offset		   Indicate the	value one must add to the  lo-
				   cal time to arrive at Coordinated Universal
				   Time. The offset has	the form:


				   The minutes (mm) and	seconds	(ss)  are  op-
				   tional.  The	 hour (hh) is required and can
				   be a	single digit. The offset following std
				   is required.	If no offset follows dst, day-
				   light savings time is  assumed  to  be  one
				   hour	 ahead	of  standard time. One or more
				   digits can be used. The value is always in-
				   terpreted  as  a  decimal  number. The hour
				   must	be between 0 and 24, and  the  minutes
				   (and	 seconds), if present, must be between
				   0 and 59. Out of range values can cause un-
				   predictable behavior. If preceded by	a "-",
				   the timezone	is east	of the Prime Meridian.
				   Otherwise, it is west of the	Prime Meridian
				   (which can be indicated by an optional pre-
				   ceding "+" sign).

	   start/time,end/time	   Indicate  when  to  change to and back from
				   daylight savings time, where	start/time de-
				   scribes  when the change from standard time
				   to  daylight	 savings  time	 occurs,   and
				   end/time describes when the change back oc-
				   curs.  Each time field describes  when,  in
				   current local time, the change is made.

				   The formats of start	and end	are one	of the

				   Jn	    The	Julian day n (1	<= n <=	 365).
					    Leap  days	are not	counted.  That
					    is,	in all years, February	28  is
					    day	 59  and March 1 is day	60. It
					    is impossible to refer to the  oc-
					    casional February 29.

				   n	    The	 zero-based Julian day (0 <= n
					    <= 365). Leap  days	 are  counted,
					    and	 it  is	 possible  to refer to
					    February 29.

				   Mm.n.d   The	d**th day, (0 <= d  <=	6)  of
					    week  n  of	month m	of the year (1
					    <= n <= 5, 1 <= m  <=  12),	 where
					    week  5  means  "the last d-day in
					    month m" which may occur in	either
					    the	 fourth	 or  the  fifth	week).
					    Week 1 is the first	week in	 which
					    the	 d**th day occurs. Day zero is

				   Implementation specific defaults  are  used
				   for	start and end if these optional	fields
				   are not specified.

				   The time has	the same format	as offset  ex-
				   cept	 that no leading sign ("-" or "+" ) is
				   allowed. If time is not specified, the  de-
				   fault value is 02:00:00.

       cat(1),	date(1),  ed(1),  fmtmsg(1),  localedef(1),  login(1),	ls(1),
       mkmsgs(1), nice(1), nohup(1), sh(1), sort(1), time(1), vi(1),  exec(2),
       addseverity(3C),	 catopen(3C),  ctime(3C),  ctype(3C), fmtmsg(3C), get-
       date(3C), getnetpath(3NSL),  gettext(3C),  gettxt(3C),  localeconv(3C),
       mblen(3C),  mktime(3C),	printf(3C),  setlocale(3C), strcoll(3C), strf-
       time(3C),   strtod(3C),	 strxfrm(3C),	 TIMEZONE(4),	 netconfig(4),
       passwd(4), profile(4)

SunOS 5.10			  19 Nov 2002			    environ(5)


Want to link to this manual page? Use this URL:

home | help