.bashrc 中的 export PATH 行有什么作用?

And*_*ili 9 command-line bash environment-variables bashrc

我对 Linux 不太熟悉,在学习教程后我有以下疑问。

我必须修改bashrc文件。此文件中包含哪些类型的设置?我认为有些东西与 bash shell 环境有关,但我不太确定。

我必须插入这一行:

export PATH=$HOME/.local/bin:$HOME/.local/usr/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

这条线到底是做什么的?

我认为该export语句用于创建一个新变量,使其可用于其他程序。

但是这条线到底是做什么的呢?是PATH我定义的变量的名称吗?什么是$HOME

前面表达式中和和部分:之间的符号是什么意思?PATH=$HOME/.local/bin$HOME/.local/usr/bin$PATH

这个表达究竟是什么意思?

The*_*Odd 16

回顾一下这个问题中提到的所有内容,

export部分

export行表示您在它之后声明的变量可供子进程访问。换句话说,进程将能够export通过 shell 的环境访问在关键字之后声明的变量。所以,如果你做了类似的事情export FOO="BAR",然后在你的 shell 环境中$FOO获取更改,你可以输入并获取BAR.

PATH部分

路径行正如您所说:它声明了一个PATH为 shell 环境命名的变量。在 bash 环境中,PATH有一个特殊用途,即定义计算机查找程序的位置。这使您可以为脚本键入自定义命令,而无需键入完整目录。请注意,默认情况下 PATH 标记为导出,因此不必重写此行。不过也不疼。

$HOMEPATH变量

在分配给PATH变量的路径的开头$HOME声明。这意味着计算机HOME在读取它时几乎会抓取存储在其中的值并将其复制粘贴到行的其余部分之前。

所述:两个路径之间在

:相当于句逗号。它只是将三个目录分开。如果没有这三个目录,控制台将无法识别它收到的命令。这三个位置是最常用于存储脚本/命令文件的三个目录,因此终端应该可以访问它,而无需写出文件的完整路径。


Ser*_*nyy 5

PATH变量让庆典知道到哪里寻找可执行程序,所以如果你有一个脚本或其他一些可执行文件$HOME/.local/bin,修改PATH将让您键入并运行就像你做与该文件lsdf

exportonly 意味着使该PATH变量也可用于您从 bash 运行的其他程序。

至于: ,它只是每个目录的分隔符。它与单词列表中的逗号相同,仅此而已。