`
`Environment variable - Wikipedia
`
`Environment variable
`
`This is an old revision of this page, as edited by 203.145.155.11 (talk) at 11:41, 26 September 2007
`(→ Examples of UNIX environment variables). The present address (URL) is a permanent link to
`this revision, which may differ significantly from the current revision.
`
`Environment variables are a set of dynamic values that can affect the way running processes will behave on a computer.
`
`Contents
`Synopsis
`Getting and setting environment variables
`DOS
`UNIX
`Unexported environment variables
`Security
`Common environment variables
`Examples of DOS environment variables
`Examples from Microsoft Windows
`Discrete value variables
`System path variables
`User management variables
`External links
`
`Synopsis
`
`In all Unix and Unix-like systems, each process has its own private set of environment variables. By default, when a process
`is created it inherits a duplicate environment of its parent process, except for explicit changes made by the parent when it
`creates the child (more exactly, between fork and exec). All Unix operating system flavors as well as DOS and Microsoft
`Windows have environment variables; however, they do not all use the same variable names. Running programs can access
`the values of environment variables for configuration purposes. Examples of environment variables include
`
`1. The PATH which lists directories the shell searches, for the commands the user may type.
`2. HOME (Unix-like) and userprofile (Microsoft Windows) indicate where a user's home directory is located in the file
`system.
`3. TERM (Unix-like) specifies the type of computer terminal or terminal emulator being used (e.g., vt100 or dumb).
`4. CVS_RSH (Unix-like) is used to tell CVS which rsh-like program to use.
`5. MAIL (Unix-like) is used to indicate where a user's mail is to be found.
`
`Shell scripts and batch files use environment variables to store temporary values for reference later in the script, and also to
`communicate data and preferences to child processes.
`
`In Unix, an environment variable that is changed in a script or compiled program will only affect that process and possibly
`child processes. The parent process and any unrelated processes will not be affected. In DOS changing a variable's value (or
`removing it) inside a BATCH file will change the variable for the duration of command.com's existence.
`
`In Unix, the environment variables are normally initialized during system startup by the system init scripts, and hence
`inherited by all other processes in the system. Users can, and often do, augment them in the profile script for the shell they
`are using. In Microsoft Windows, environment variables defaults are stored in the windows registry or set in autoexec.bat.
`
`https://en.wikipedia.org/w/index.php?title=Environment_variable&oldid=160448946
`
`1/6
`
`Lenovo EX-1027, Page 001
`IPR2021-00821 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`3/19/2021
`Environment variable - Wikipedia
`Getting and setting environment variables
`
`The variables can be used both in scripts and on the command line. They are usually referenced by putting special symbols
`in front of or around the variable name. For instance, to display the program search path on a DOS or Windows system, the
`user could type in this command:
`
`echo %PATH%
`
`Other scripting and shell environments sometimes use other symbols for the same purpose, such as the commonly used
`dollar sign syntax used by many UNIX shells:
`
`echo $PATH
`
`DOS
`
`In DOS and Windows, the SET command without any arguments displays all environment variables along with their values.
`
`To set a variable to a particular value in DOS-WINDOWS, use:
`
`SET VARIABLE=value
`
`UNIX
`
`The env, set, and printenv commands display all environment variables and their values. env and set
`are also used to set environment variables and are often incorporated directly into the shell.
`printenv can also be used to print a single variable by giving that variable name as the sole
`argument to the command.
`
`In UNIX, the following commands can also be used, but are often dependent on a certain shell.
`
`export VARIABLE=value # for Bourne, bash, and related shells
`setenv VARIABLE value # for csh and related shells
`
`Unexported environment variables
`
`In UNIX, variables may be assigned without the export keyword. Variables defined in this way are
`displayed by the set command, but are not inherited by the child processes.
`
`VARIABLE=value
`
`There is no equivalent in the DOS or Windows environments.
`
`Security
`
`On Unix, a setuid program is given an environment chosen by its caller, but it runs with different
`authority from its caller. The dynamic linker will usually load code from locations specified by
`the environment variables LD_LIBRARY_PATH and LD_PRELOAD and run it with the process's authority.
`If a setuid program did this, it would be insecure, because its caller could get it to run
`arbitrary code and hence misuse its authority. For this reason, libc unsets these environment
`variables at startup in a setuid process.
`
`Common environment variables
`
`https://en.wikipedia.org/w/index.php?title=Environment_variable&oldid=160448946
`
`2/6
`
`Lenovo EX-1027, Page 002
`IPR2021-00821 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`3/19/2021
`Examples of DOS environment variables
`
`Environment variable - Wikipedia
`
`%COMSPEC%
`
`This variable contains the full path to the command processor, command.com.
`%PATH%
`
`This variable contains a semicolon-delimited list of directories in which the command interpreter
`will search for executable files. Equivalent to the UNIX $PATH variable (although note that PATH
`on Windows additionally performs the same task as LD_LIBRARY_PATH on Unix-like systems). Note that
`%PATH% can also be set like this PATH=c:\dos; where SET isn't required.
`%TEMP% and %TMP%
`
`These variables contain the path to the directory where temporary files should be stored. Note
`that in MS-DOS 5 %TEMP% sometimes pointed to C:\DOS so removing all files in %TEMP% would cause
`great problems to say the least, something that the main creator of the Web browser Arachne (web
`browser) wasn't aware of and thus giving Arachne much unwarranted media criticism.
`
`203.145.155.11 11:41, 26 September 2007 (UTC)===Examples of UNIX environment variables===
`$PATH
`
`Contains a colon-separated list of directories that the shell searches for commands that do not
`contain a slash in their name. (Commands with slashes are interpreted as a file name to execute,
`and the shell attempts to execute them as they are)
`$HOME
`
`Contains the location of the user's home directory. Although the current user's home directory can
`also be found out through the C functions getpwuid and getuid, $HOME is often used for convenience
`in various shell scripts (and other contexts).
`$DISPLAY
`
`Contains the identifier for the display that X11 programs should use by default.
`$LD_LIBRARY_PATH
`
`On many Unix systems with a dynamic linker, contains a colon-separated list of directories that
`the dynamic linker should search for shared objects when building a process image after exec.
`$LANG, $LC_ALL
`
`LANG expands to the default system locale; LC_ALL can be used to override this. For example, if
`its value is pt_BR, then the language is set to (Brazilian) Portuguese and the locale to Brazil.
`$TZ
`
`it refers to Time Zone.it can have the values like GMT,AST,...,etc
`
`Examples from Microsoft Windows
`
`Discrete value variables
`
`https://en.wikipedia.org/w/index.php?title=Environment_variable&oldid=160448946
`
`3/6
`
`Lenovo EX-1027, Page 003
`IPR2021-00821 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`Environment variable - Wikipedia
`3/19/2021
`These variables generally expand to discrete values, such as the current working directory, the
`current date, or a random number. Some of these are true environment variable and will be expanded
`by all functions that handle environment variables. Others, like %CD% simply look like environment
`variables and will only be expanded by some functions and shells.
`%CD%
`
`This variable points to the current directory. Equivalent to the output of the command cd when
`called without arguments.
`%DATE%
`
`This variable expands to the current date. The date is displayed according to the current user's
`date format preferences.
`%ERRORLEVEL%
`
`This variable points to the current error level. If there was an error in the previous command,
`this is what you need to check against to find out about that.
`%RANDOM%
`
`This variable returns a random number between 0 and 32767
`%TIME%
`
`This variable points to the current time. The time is displayed according to the current user's
`time format preferences.
`
`System path variables
`
`These variables refer to locations of critical operating system resources, and as such generally
`are not user-dependent.
`%AppData%
`
`Contains the full path to the Application Data folder of the logged-in user. Does not work on
`Windows NT 4.0 SP6 UK.
`%ComSpec%
`
`This variable contains the full path to the Windows NT command processor, cmd.exe.
`%PATH%
`
`This variable contains a semicolon-delimited list of directories in which the command interpreter
`will search for executable files. Equivalent to the UNIX $PATH variable.
`%ProgramFiles%
`
`This variable points to Program Files directory, which stores all the installed program of Windows
`and others. The default on english-language systems is C:\Program Files.
`%CommonProgramFiles%
`
`This variable points to Common Files directory. The default is C:\Program Files\Common Files.
`%SystemDrive%
`
`https://en.wikipedia.org/w/index.php?title=Environment_variable&oldid=160448946
`
`4/6
`
`Lenovo EX-1027, Page 004
`IPR2021-00821 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`Environment variable - Wikipedia
`3/19/2021
`The %SystemDrive% variable is a special system-wide environment variable found on Microsoft
`Windows NT and its derivatives. Its value is the drive upon which the system folder was placed.
`
`The value of %SystemDrive% is in most cases C:. The system drive cannot be altered once the
`operating system is running.
`%SystemRoot%
`
`The %SystemRoot% variable is a special system-wide environment variable found on Microsoft Windows
`NT and its derivatives. Its value is the location of the system folder, including the drive and
`path.
`
`The drive is the same as %SystemDrive% and the default path on a clean installation depends upon
`the version of the operating system. By default on a clean installation,
`
`Windows NT 5.1 (Windows XP) and newer versions by default use \WINDOWS
`Windows NT 5.0 (Windows 2000), Windows NT 4.0 and Windows NT 3.1 by default use \WINNT
`Windows NT 3.5x by default uses \WINNT35
`
`%WinDir%
`
`This variable points to the Windows directory. If the System is on drive C: then the default
`values are:
`
`C:\WINDOWS on Windows 95, Windows 98, Windows Me, Windows XP, and Windows Server 2003
`C:\WINNT for Windows NT 4 and Windows 2000
`
`User management variables
`
`These variables store information related to resources and settings owned by various user profiles
`within the system. As a general rule, these variables do not refer to critical system resources or
`locations that are necessary for the OS to run.
`%ALLUSERSPROFILE%
`
`The %ALLUSERSPROFILE% variable expands to the full path to the All Users profile directory. This
`profile contains resources and settings that are used by all system accounts. Shortcut links
`copied to the All Users' Start menu or Desktop folders will appear in every user's Start menu or
`Desktop, respectively.
`%UserDomain%
`
`The variable holds the name of the Workgroup or Windows Domain to which the current user belongs.
`The related variable, %LOGONSERVER%, holds the hostname of the server that authenticated the
`current user's logon credentials (name and password). For Home PCs, and PCs in a Workgroup, the
`authenticating server is usually the PC itself. For PCs in a Windows Domain, the authenticating
`server is a domain controller (a primary domain controller, or PDC, in Windows NT 4-based
`domains).
`%UserProfile%
`
`The %UserProfile% variable is a special system-wide environment variable found on Microsoft
`Windows NT and its derivatives. Its value is the location of the current user's profile directory,
`in which is found that user's HKCU registry hive (NTUSER).
`
`Users can also use the %USERNAME% variable to determine the active users login identification.
`
`https://en.wikipedia.org/w/index.php?title=Environment_variable&oldid=160448946
`
`5/6
`
`Lenovo EX-1027, Page 005
`IPR2021-00821 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`3/19/2021
`
`Environment variable - Wikipedia
`
`Defaults:
`
`Data
`Variable
`%ALLUSERSPROFILE% C:\Documents and Settings\All Users
`%APPDATA%
`C:\Documents and Settings\{username}\Application Data
`%COMPUTERNAME%
`{computername}
`%COMSPEC%
`C:\Windows\System32\cmd.exe
`%HOMEDRIVE%
`C:
`%HOMEPATH%
`\Documents and Settings\{username}
`%PATH%
`C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem
`%PATHEXT%
`.COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS ; .WSF: .WSH
`%PROGRAMFILES%
`C:\Program Files
`%PROMPT%
`Code for current command prompt format. Code is usually $P$G
`%SYSTEMDRIVE%
`The drive containing the Windows XP root directory, usually C:
`%SYSTEMROOT%
`The Windows XP root directory, usually C:\Windows
`%TEMP% and %TMP%
`C:\Documents and Settings\{username}\Local Settings\Temp
`%USERNAME%
`{username}
`%USERPROFILE%
`C:\Documents and Settings\{username}
`%WINDIR%
`C:\Windows
`
`External links
`
`environ (https://www.opengroup.org/onlinepubs/9699919799/basedefs/environ.html): user environment –
` Base Definitions Reference, The Single UNIX Specification, Issue 7 from The Open Group
`Environment Variable Reference (http://www.scriptlogic.com/support/CustomScripts/environmentVariableReference.ht
`ml) — Has a list showing which environment variables are for 9x WinNTx etc
`Accessing Environment Variables (http://www.freeweb.hu/wsh2/ch07c.html) — Has a list showing which environment
`variables are for 9x WinNTx etc
`Windows XP Command Shell Overview (http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/
`en-us/ntcmds_shelloverview.mspx) with a list of environment variables — Microsoft.com
`How To Manage Environment Variables in Windows XP (http://support.microsoft.com/default.aspx?scid=kb;en-us;3105
`19) — Microsoft.com
`Environment Variables in Windows XP (http://vlaurie.com/computers2/Articles/environment.htm) — Computer
`Education
`WEVE (Windows Environment Variable Editor) A GUI editor for environment variables in Windows XP (http://www.silve
`rmace.com/weve) — WEVE GUI Editor
`RapidEE (Rapid Environment Editor) (http://www.rapidee.com) — A simple environment variables editor
`
`Retrieved from "https://en.wikipedia.org/w/index.php?title=Environment_variable&oldid=160448946"
`
`This page was last edited on 26 September 2007, at 11:41 (UTC).
`This version of the page has been revised. Besides normal editing, the reason for revision may have been that this version contains factual
`inaccuracies, vandalism, or material not compatible with the Creative Commons Attribution-ShareAlike License.
`
`https://en.wikipedia.org/w/index.php?title=Environment_variable&oldid=160448946
`
`6/6
`
`Lenovo EX-1027, Page 006
`IPR2021-00821 (Lenovo Inc. v. LiTL LLC.)
`
`