Linux中$PATH
的有什么
$PATH
是一个冒号分隔的列表,告诉哪些目录搜索可执行文件到可执行文件。
要检查您的目录$PATH
,您可以使用printenv
或echo
命令:
echo $PATH
Copy
输出将如下所示:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Copy
如果您在两个不同的目录中有两个共享相同名称的可执行文件,则Shell将运行位于的第一个$PATH
目录中的文件。
将目录添加到您的 $PATH
在某些情况下,您可能需要添加其他目录$PATH
变量。例如,某些程序可能安装在不同的位置,或者您可能想要为您的个人便笺建立专用目录,但是能够在不指定可执行文件绝对路径的情况下运行它们。为此,您只需要将目录添加到$PATH
。
假设您的家目录中有一个名为bin
的目录,要将目录添加到您的$PATH
,请输入:
export PATH="$HOME/bin:$PATH"
Copy
export
命令会将修改后的变量导出到Shell子进程环境。
现在,您只需键入可执行脚本名称即可运行脚本,而无需指定可执行文件的完整路径。
但是,此更改只是临时的,仅在当前的Shell会话中有效。
要使更改永久生效,您需要在shell配置文件中定义变量$PATH
。在大多数Linux发行版中,当您启动新会话时,将从以下文件中读取环境变量:
-
特定于全局Shell的配置文件,例如
/etc/environment
和/etc/profile
。如果要将新目录添加到所有系统用户,请使用此文件的$PATH
。 -
每用户shell程序特定的配置文件。例如,如果使用的是Bash,则可以在
~/.bashrc
文件中设置变量$PATH
,如果使用的是Zsh,则文件名为~/.zshrc
。
在此示例中,我们将在~/.bashrc
文件中设置变量。使用打开文件,并在文件末尾添加以下行:
nano ~/.bashrc
Copy
〜/ .bashrc
export PATH="$HOME/bin:$PATH"
Copy
保存文件,并$PATH
使用以下source
命令将新文件加载到当前的shell会话中:
source ~/.bashrc
Copy
要确认目录已成功添加,请键入$PATH
,以下命令打印您的值:
echo $PATH
Copy
结论
当向$PATH
变量添加新目录时就可以执行存储在非标准位置的命令和脚本,而无需键入可执行文件的完整路径。
为各位朋友分享的相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多