操作系统 PATH 环境变量介绍,以及设置 PATH 环境变量
PATH 环境变量
在主流的操作系统中,PATH
环境变量通常包含一组路径,用于搜索可执行目标。比如,在 Windows 的命令提示符中输入notepad
并按下Enter键,命令提示符会搜索并执行 notepad,如果当前路径中不存在,则将依据PATH
提供的路径进行搜索,当目标被找到后,搜索将终止。
PATH 环境变量中的路径的优先级
在PATH
提供的多个路径中,排在前面的会优先进行搜索,这意味着当某个可执行目标同时位于多个不同的路径时,路径排位靠前的目标将被优先找到,其余的路径则被忽略。
Windows 中的 PATH 环境变量
在 Windows 中,PATH
分别存在于系统环境变量和用户环境变量,如果在命令提示符中输入echo %PATH%
,那么他将是两个PATH
变量的组合,其中用户环境变量中的路径被放在系统环境变量路径的后面。无论是两者中的哪一个,PATH
中包含的路径应使用;
进行分隔。
设置 Windows 环境变量PATH
的最简单方式是使用环境变量窗口,不建议采用setx
命令,因为该命令会将路径限制在 1024 个字符以内。如果你希望通过命令行的方式进行设置,那么可以尝试使用 PowerShell。
下面的 PowerShell 命令,为用户环境变量PATH
增加了一个路径.\bin\
。
[Environment]::SetEnvironmentVariable('PATH', [Environment]::GetEnvironmentVariable("PATH", "User") + ';.\bin\', 'User')
Windows PATH 环境变量何时被使用?
Windows 命令行一般首先查看当前路径是否存在需要执行的目标,只有在目标不存在时,才会使用PATH
提供的路径搜索。
设置 Windows 环境变量
关于如何设置 Windows 环境变量,你可以查看如何设置 Windows 环境变量一节。
UNIX/Linux/macOS 中的 PATH 环境变量
与 Windows 系统不同,UNIX/Linux/macOS 中的PATH
变量需要使用:
来分隔路径。
虽然拥有大量的衍生版本,但在 UNIX/Linux/macOS 中设置PATH
变量的方法是类似的,需要在某些特定的文件中写入export
命令。这些文件包括但不限于,/etc/profile
,~/.profile
,~/.bash_profile
,~/.bashrc
,你可以使用已安装的编辑器来编辑他们,比如,输入命令sudo vi /etc/profile
编辑文件/etc/profile
。
下面是一条export
命令的示例,他为环境变量PATH
增加了路径/my
。
export PATH=${PATH}:/my
UNIX/Linux/macOS PATH 环境变量何时被使用?
无论是哪种 Shell 程序,一般都会首先在当前路径查找可执行目标,当目标不存在时,才会搜索PATH
提供的路径。
设置 UNIX/Linux/macOS 环境变量
关于如何设置 WUNIX/Linux/macOSindows 环境变量,你可以查看如何设置 UNIX/Linux/macOS 环境变量一节。