Linux 中将目录添加到 PATH 环境变量示例
本文讨论了一个重要的 Linux shell 环境变量,称为PATH,以及如何向该变量添加目录。
通常,您在 Linux 系统上运行的大多数程序都可以完美运行,并且您的 shell 在执行时不会出现任何错误。但是,有时您可能希望从 Linux 系统上的非标准目录快速运行自定义脚本或程序。
在这种情况下,您需要将它们的源目录添加到 shell 的 PATH 变量中,以便它知道在哪里可以找到它们。
路径环境变量用于什么?
环境变量控制 shell 的行为。如果您曾经 在 Linux 上使用过命令行,系统将依赖 PATH 变量来查找您正在输入的命令的位置。
PATH 是 Linux 中的一个内置环境变量,它告诉 shell 在哪些目录中搜索可执行文件以响应用户或应用程序发出的命令。它包含以冒号分隔的目录列表,用于查找您输入的命令。
如何在 Linux 中将目录添加到 PATH
要立即查看 PATH 中的内容,请在终端中输入:
如您所见,此变量中的目录由冒号 ( :
) 分隔。目前,shell 在以下目录中搜索二进制可执行文件:
- /home/linuxmi/.nvm/versions/node/v17.4.0/bin
- /home/linuxmi/.cargo/bin
- /home/linuxmi/.local/bin
- /usr/local/bin
- /usr/local/sbin
- /usr/local/bin
- /usr/sbin
- /usr/bin
- /sbin
- /bin
- /usr/games
- /usr/local/games
- /snap/bin
- /opt/mssql-tools/bin
搜索 PATH 的顺序也很重要。因此,如果您有两个共享相同名称的可执行文件位于两个不同的目录中,则 shell 将运行位于 PATH 中第一个目录中的文件。
临时将目录添加到 PATH
现在假设您已经创建了一个位于/srv/scripts
目录中的自定义 shell 脚本,并且您希望将此目录添加到您的 PATH 变量中。这是你应该做的:
为了让事情更清楚,让我们分解一下这个语法。以下是每个参数的含义:
- 该
export
命令会将修改后的PATH
变量导出到 shell 子进程环境。 - 变量名之前的
$
意思是你指的是它的值。 - 该
:/srv/scripts
部分指定:
符号后面的内容应附加到当前 PATH 变量中包含的值。
让我们看看 PATH 现在的样子:
正如您在上面的输出中看到的,该 /srv/scripts
目录被添加到 PATH 变量的末尾。现在,您存储在 /srv/scripts
目录中的文件可以在任何地方执行,而无需指定它们的完整路径。
此外,如果您认为您的目录应该在其他所有内容之前被搜索,您可以将其添加到$PATH
。
请务必注意,如果您退出终端或从系统注销,PATH 将恢复并且更改将丢失,因为这种设置 PATH 的方法仅在当前终端会话期间临时记住更改。
要使其永久化,请查看以下部分。
将目录永久添加到 PATH
要使更改永久生效,您需要在 shell 配置文件中定义 PATH 变量。
默认系统范围的 PATH 值在 /etc/profile
文件中指定。将目录添加到单个用户的路径的最佳位置是修改该用户的.bashrc
文件。
使用文本编辑器打开文件,滚动到文件底部,并在文件末尾添加以下行:
linuxmi@linuxmi:~/www.linuxmi.com$ vim ~/.bashrc
~/.bashrc
export PATH=$PATH:/srv/scripts
source
最后,保存文件并使用以下命令将新的 PATH 加载到当前 shell 会话中:
要确认目录已成功添加,请键入以下 echo
命令检查路径:
linuxmi@linuxmi:~/www.linuxmi.com$ echo $PATH
结论
在Linux中向您的用户或全局 PATH 变量添加新目录非常简单。在本文中,我们了解到有两种方法可以做到这一点:暂时的和永久的。
如果您仍有疑问,请在评论中告诉我。
The post Linux 中将目录添加到 PATH 环境变量示例 first appeared on Linux迷.
版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/23394.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论