在终端键入命令时,实质需在告之Shell运行特殊可执行文件的名称。在Linux,这类可执行文件可以是ls
,find
,file
等命令。
一般在你的将自动默认设置设置设置好几个不同种类的目录。这类目录中储存着具有可执行权限的二进制文件,这类二进制文件都能在一切目录中运行。
广泛目录是/bin
,/sbin
,/usr/sbin
,/usr/local/bin
和/usr/local/sbin
。
如果你在智能终端运行命令时,shell操作程序会在$PATH
环境变量涉及的目录中搜索命令的可执行文件。
本流程详解如何在Linux 设置PATH环境变量。要查看PATH环境变量能用echo命令或者printenv命令打印出发生时期的$PATH环境变量。
什么是 PATH 环境变量
$PATH环境变量是由炉灶分隔的目录目录,告之shell哪些目录主要是用来查找命令可推行二进制文件。
您可以使用printenv
或echo
命令查看$PATH
涉及的目录。2个命令全是有一样的导出。
如果你在两种不同目录带有2个共享一样名称的可执行文件,则Shell将运行从$PATH
查找过的第一个目录推行该文件。
printenv PATH
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
将目录再加上 PATH 环境变量
在某些情况下,您可能务必添加其他目录$PATH
环境变量。例如,一些操作程序极有可能拼装在各个目录。
但是为了在没有任何特殊可执行文件绝对路径运行它。因此,你需要把目录导到$PATH
环境变量。
假设家目录中有一个bin
的目录,要将目录导到$PATH
环境变量,请运行命令export PATH="$HOME/bin:$PATH"
。
现如今,您只需键入易操作二进制文件的名称就能运行应用。但是,此变动只是暂时性的,仅在目前的Shell谈话中有效。
export PATH="$HOME/bin:$PATH"
分布式锁PATH
export
命令用于设置环境变量,运用export
命令设置环境变量仅在目前的shell会话能用。想让变动永久见效,你需要在PATH环境变量设置$PATH
环境变量。
在大多数Linux发行版中,当开机运行时,将于/etc/environment
和/etc/profile
以及~/.bashrc
word里加载环境变量。
全面性环境变量是/etc/environment
和/etc/profile
。如果要为系统所有用户设置$PATH
环境变量,请于2个word里修改。
假如你为特定顾客设置$PATH
环境变量时,请在~/.bashrc
文件修改$PATH
变量,倘若使用的是Zsh,则文件是~/.zshrc
。
在教学中,我们将在/etc/environment
文本文档设置PATH环境变量,本身就是为所有用户设置。
命令echo PATH="$HOME/bin:$PATH" | sudo tee -a /etc/environment
将会把目录$HOME/bin
导到PATH环境变量,运用echo命令和tee命令。
echo PATH="$HOME/bin:$PATH" | sudo tee -a /etc/environment
现如今已经分布式锁PATH环境变量,如果你还没有运用export命令设置PATH,那般目前shell会话PATH环境变量根本无法被修改。
你可以运行source
命令将加载环境变量到目前的shell会话。当然也可以运用export命令设置PATH环境变量。
要确定是否正确设置PATH环境变量,可以运行命令echo $PATH
查看目前$PATH
环境变量标值。
source /etc/environment
echo $PATH
结论
在Linux 设置PATH环境变量非常简单。这也使得我们可以在一切目录运行你命令或者应用,而且不务必键入可执行文件的一体化方式。
相同的说明适用于任何Linux发行版,包括Ubuntu,CentOS,RHEL,Debian和Linux Mint。如有任何疑问,请随时。
