一般来说,您在Linux系统上运行的大多数程序都能完美地工作,并且您的shell在执行时不会出现任何错误。但是,有时您可能希望从Linux系统上的非标准目录中快速运行自定义脚本或程序。
在这种情况下,您需要将它们的源目录添加到shell的PATH变量中,以便它知道在哪里可以找到它们。
PATH环境变量的用途是什么?
环境变量控制外壳的行为。例如,如果您在Linux上使用命令行,系统将依赖PATH变量来查找您输入的命令的位置。
PATH是Linux中的一个内置环境变量,它响应用户或应用程序发出的命令,告诉shell要搜索哪些目录以搜索可执行文件。
它包含用冒号分隔的目录列表,用于查找您输入的命令。
如何在Linux中将目录添加到PATH
要查看当前PATH中的内容,请在终端中键入以下内容:
回响
$PATH
代码语言:
PHP
(
php
)

如您所见,此变量中的目录用冒号分隔(
:
). 目前,shell在以下目录中搜索二进制可执行文件:
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
箱子
/usr/games
/usr/local/games
/快照/垃圾箱
/home/linuxiac/.dotnet/tools
搜索PATH的顺序也很重要。因此,如果在两个不同的目录中有两个共享相同名称的可执行文件,shell将在PATH中第一个目录中运行该文件。
将目录临时添加到PATH
现在假设您已经创建了一个自定义shell脚本,该脚本位于
/srv/脚本
目录,并且您希望将此目录添加到PATH变量中。以下是您应该做的事情:
出口
PATH=$PATH:
/srv/
脚本
代码语言:
JavaScript
(
javascript
)
为了使事情更加透明,让我们分解一下这个语法。首先,以下是每个参数的含义:
- 的
出口
命令将导出修改后的
路径
变量到shell子进程环境。 - 这个
$
在变量名之前,表示您正在引用其值。 - 这个
:/srv/scripts
部分指定后面的内容
:
符号应附加到当前PATH变量中包含的值。
让我们看看PATH现在是什么样子的:
回响
$PATH
代码语言:
PHP
(
php
)

正如您在上面的输出中所看到的
/srv/脚本
目录添加到PATH变量的末尾。现在,您存储在
/srv/脚本
目录可以在任何地方执行,而无需指定其完整路径。
此外,如果您认为应该先搜索目录,然后再搜索其他内容,则可以将其添加到
$PATH
.
出口
路径=
/srv/
脚本:$PATH
代码语言:
JavaScript
(
javascript
)
需要注意的是,如果您退出终端或从系统中注销,PATH将恢复。更改将丢失,因为这种设置PATH的方法只会在当前终端会话期间临时记住更改。
要使其永久化,请查看下面的部分。
将目录永久添加到PATH
要使更改永久化,您需要在shell配置文件中定义PATH变量。
默认的系统范围PATH值在中指定
/etc/配置文件
文件。将目录添加到单个用户的路径的最佳位置是修改该用户的
.bashrc
文件
用文本编辑器打开文件,滚动到文件底部,并在文件末尾添加以下行:
vim~/.bashrc
出口
PATH=$PATH:
/srv/
脚本
代码语言:
JavaScript
(
javascript
)

最后,保存文件并使用
来源
命令
源~/.bashrc
要确认已成功添加目录,请键入以下内容
回响
命令检查路径:
回响
$PATH
代码语言:
PHP
(
php
)

结论
正如您所看到的,在Linux中向用户或全局PATH变量添加新目录非常简单。然而,在这篇文章中,我们了解到有两种方法:暂时和永久。
如果你还有疑问,请在评论中告诉我。