什么是环境变量?
环境变量保存与当前环境相关的值,例如操作系统或用户会话。
路径
PATH
在Windows,Linux和Mac OS X上,最著名的方法之一就是它。它指定计算机上的可执行程序*所在的目录,这些目录可以在不知道并在命令行上键入文件的完整路径的情况下启动。 。(或者在Windows中,在“开始”菜单或+ 中,单击“ 运行”对话框)。R
在Linux和Mac OS X上,它通常包含bin
与sbin
当前用户相关的所有目录。在Windows上,它至少包含C:\Windows
和C:\Windows\system32
目录-这就是为什么你可以运行 calc.exe
或notepad.exe
通过命令行或运行对话框,但不是firefox.exe
。(Firefox位于中C:\Program Files\Mozilla Firefox
。有关如何包含Firefox的信息,请转到此处。)
例如,在Windows的命令行中键入calc
(.exe
可以省略),将启动Windows计算器。
*您可以.exe
通过编辑添加对文件扩展名的支持%PATHEXT%
。
其他
其他变量可能会告诉程序使用哪种终端(TERM
在Linux / Mac OS X上),或者在Windows上,Windows文件夹位于何处(例如%WINDIR%
is C:\Windows
)。
创建新的环境变量
在Windows,Linux和Unix中,可以创建新的环境变量,然后在启动时将其值提供给所有程序。
在编写已安装或部署到多台计算机并需要引用特定于这些计算机的值的脚本或程序时,可以使用此功能。尽管可以使用特定于程序的配置设置来达到类似的效果,但是如果多个程序需要访问相同的值,则可以使用环境变量来完成此操作。
视窗
图形用户界面
打开Control Panel » System » Advanced » Environment Variables
。
键入control sysdm.cpl,,3
“运行”对话框(+ R),然后单击“确定” Environment Variables
。
要编辑用户变量,您还可以输入
%windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables
在“运行”对话框中。
右键单击(我的)计算机,然后单击属性,或直接按+ Break。
- 在XP中,单击
Advanced » Environment Variables
。
- 在Vista +中,单击
Advanced system settings » Environment Variables
。
还有许多到达同一位置的方法,例如通过在“开始”菜单/屏幕搜索框中键入“环境变量”,等等。
Windows中的环境变量分为用户和机器/系统特定的值。您可以在那里查看和编辑其值。它们在启动时的当前值可用于所有程序。
还有一个Rapid Environment Editor,它可以帮助您在Windows中设置和更改环境变量,而无需深入了解系统设置。可以非常方便地编辑路径环境的另一个Windows开源程序是Path Editor。
命令行
格式
Windows中的环境变量在名称周围用百分号(%)表示:
%name%
回声
要在中显示环境变量的值cmd.exe
,请输入echo %name%
。
C:\>echo %USERPROFILE%
C:\Users\Daniel
组
要创建/设置变量,请使用set varname=value
:
C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures
C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2
要追加/添加变量,请使用set varname=value;%varname%
:
C:\>set Penguins=C:\Linux
C:\>set Penguins=C:\Windows;%Penguins%
C:\>echo %Penguins%
C:\Windows;C:\Linux
以这种方式设置的环境变量在设置它们的命令提示符过程的持续时间内(其余时间)可用,并且在设置变量后启动的过程中可用。
塞克斯
要永久创建/设置变量,请使用:setx varname "value"
C:\>setx FunnyCatPictures "C:\Users\Daniel\Pictures\Funny Cat Pictures"
[Restart CMD]
C:\>echo %FunnyCatPictures%
C:\Users\Daniel\Pictures\Funny Cat Pictures
不同于set
,没有等号,并且如果值包含空格,则应将其括在引号中。请注意,变量可能会扩展为带空格的字符串(例如,%PATH%
变为C:\Program Files
),因此最好在包含任何变量的值周围加上引号。
您必须手动添加setx
Windows Vista之前的Windows版本。
Windows XP Service Pack 2支持工具
Windows环境变量列表
这是Windows内置的默认环境变量的列表。一些例子是:
%WINDIR%
,%SystemRoot%
,%USERPROFILE%
,和%APPDATA%
。像Windows中的大多数名称一样,这些名称不区分大小写。
Unix衍生产品(FreeBSD,GNU / Linux,OS X)
Linux中的环境变量以美元符号($)为前缀,例如$ HOME或$ HOSTNAME。许多众所周知的标准变量都用大写字母表示,以表明这一点。请记住,变量名称区分大小写,这意味着从外壳程序的角度来看,$ User和$ USER完全无关。
Unix派生词主要在位于该/etc
文件夹中的shell脚本中定义系统范围的变量,但是可以将用户特定的值赋予位于主文件夹中的脚本中的那些变量(例如/etc/profile
,$HOME/.bash_profile
)。将.profile
在主文件夹文件是定义用户变量一个共同的地方。
设定变量
这些文件是常规的shell脚本,不仅可以包含环境变量声明,还可以包含更多文件。要设置环境变量,请使用export
。要在终端中显示当前定义的环境变量,请运行env
。
该export
命令是定义变量的标准方法。语法非常直观。对于这两条线,结果是相同的,但是在需要移植到POSIX Bourne之前的外壳的情况下,首选第一种方法。
var=value; export var
export var=value
C外壳及其子代使用完全不同的语法。在那里,命令是setenv
。
请参阅Linux文档项目Path HOWTO,以获取有关此主题的更详尽讨论。
也许与通常的看法相反,OS X比Linux更“ Unix”。除了已经提到的文件之外,还可以在以下文件中修改$ PATH:
/etc/paths
包含所有添加到路径的默认目录,例如/bin
和/usr/sbin
。
- 中的任何文件
/etc/paths.d
-安装程序通常使用它们来使外壳程序提供它们提供的可执行文件,而无需接触系统范围或特定于用户的配置文件。这些文件每行仅包含一个路径。例如,/ Programs / Mozilla / Calendar / bin。
外部链接:
XP中的环境变量
Windows XP Service Pack 2支持工具(包括setx
)
Windows Vista和Windows 7中的环境变量在
“运行”对话框中添加可执行文件
Mac OSX技巧-设置环境变量
TLDP:路径操作方法