
getenv(+Name, -Value)

   Succeeds if Name is the name of an environment variable or registry entry, and returns the corresponding value.

Arguments
   Name                String or atom.
   Value               String or variable.

Type
   Operating System

Description
    The first argument must be a string or an atom. The predicate looks
    up a value which the operating system has stored under this key.

    UNIX:  If Name is the name of a UNIX environment variable, this
    variable's value is returned.  As an additional feature, if there
    exists an environment variable whose name is the concatenation of
    the value of Name and the ECLiPSe version number (e.g. 
    "ECLIPSEDIR_4_9" if Name is "ECLIPSEDIR" and the version
    is 4.9), then this variable's value is returned instead.

   WINDOWS: The name Name is looked up in the registry under the key
    HKEY_LOCAL_MACHINE\SOFTWARE\IC-Parc\ECLiPSe\<version>. If there is
    such an entry, its value is returned. Otherwise, Name is taken as
    the name of an environment variable, whose value is returned if it
    exists.

    If the lookup operation is unsuccessful, the predicate fails.


Modes and Determinism
   getenv(+, -) is semidet

Fail Conditions
   Fails if none of the lookup methods yielded any result for the given name

Exceptions
     4 --- Name is not instantiated.
     5 --- Name is instantiated, but not to a string or an atom.
     5 --- Value is instantiated, but not to a string.

Examples
   
Success:
      getenv('HOME',V).    (gives V="/home/username").
      getenv("SHELL",V).   (gives V="/bin/csh").
      getenv('TERM',V).    (gives V="sun-cmd").
      getenv('USER',V).    (gives V="username").

Fail:
      getenv('HOEM',V).

Error:
      getenv(TERM,V).               (Error 4).
      getenv('TERM',atom).          (Error 5).
      getenv(1,V).                  (Error 5).





See Also
   setenv / 2, sh / 1, argv / 2, argc / 1
