Variables 将自制啤酒添加到PATH

Variables 将自制啤酒添加到PATH,variables,path,homebrew,environment,Variables,Path,Homebrew,Environment,我刚刚安装了Home brew,现在我正试图通过在终端中键入两个命令,将Home brew目录插入path环境变量的顶部。我的问题是: 什么是path环境变量 提供给我的两个代码是否正确 echo "export Path=/usr/local/bin:$PATH" >> ~/.bash_profile && source ~/.bash_profile 在此之后,我要输入brew医生。据我所知,什么事也没有发生。 有谁能给我一些建议或指导吗;博士 echo "e

我刚刚安装了Home brew,现在我正试图通过在终端中键入两个命令,将Home brew目录插入path环境变量的顶部。我的问题是:

什么是path环境变量

提供给我的两个代码是否正确

echo "export Path=/usr/local/bin:$PATH" >> ~/.bash_profile && source  ~/.bash_profile
在此之后,我要输入brew医生。据我所知,什么事也没有发生。 有谁能给我一些建议或指导吗;博士

echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile && source ~/.bash_profile
这就是你想要的

回答你的第一个问题;为了运行(执行)一个程序(可执行文件),shell必须准确地知道它在文件系统中的位置,才能运行它。PATH环境变量是shell用于搜索可执行文件的目录列表。当您使用未内置到shell中的命令时,您正在使用的shell将按顺序搜索这些目录,并将执行它找到的第一个匹配的可执行文件

例如,当您键入:
mv foo bar
时,shell几乎肯定实际使用的是位于/bin目录中的可执行文件。因此,命令是完全正确的

/bin/mv foo bar
因此,路径环境变量可以为您节省一些额外的输入。您可以通过输入以下内容查看当前路径中的内容(与所有环境变量一样):

echo $<NAME OF VARIABLE>
正如我前面提到的,订购很重要。将/usr/local/bin添加到路径的开头意味着shell将首先在那里搜索,因此如果该文件夹中有可执行的foo,它将优先于路径中文件夹中的任何其他foo可执行文件。这意味着使用brew安装的任何可执行文件将优先于系统默认值使用

关于你的第二个问题。您提供的命令试图做的是在.bash_配置文件中添加一行,然后对其进行源代码设置。.bash_配置文件是存储在主目录中的文本文件,每次启动bash(shell)时都会对其进行源代码(读取)。您提供的行中的错误是,只有路径的第一个字母大写。到您的shell路径和路径是非常不同的事情

要修复它,请执行以下操作:

echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile && source ~/.bash_profile
说明

echo "export PATH=/usr/local/bin:$PATH"
只需打印或回显以下内容到标准输出,在上述实例中,标准输出就是终端。(在UNIX系统上,stdout、stderr和stdin是非常重要的概念,但与主题无关)运行此命令会产生以下结果:

export PATH=/usr/local/bin:/opt/local/sbin:/opt/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
在我的系统上,因为在双引号内使用$PATH意味着bash将用它的值替换它。>>然后用于将标准输出重定向到~/.bash_配置文件的末尾~是您的主目录的简写。(注意,>将重定向到文件并覆盖它,而不是附加。) &&表示运行下一个命令是成功的,并且

source ~/.bash_profile

只执行该文件中包含的操作

当您在某处键入程序并单击enter时,它会检查某些位置,以查看该程序是否存在。 Linux brew使用不同于普通Linux程序的位置,因此我们将这些位置添加到设置路径的~/.profile文件中

在终端中运行此命令,它会自动将正确的代码放入.profile文件中

echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile

不要使用.bash_配置文件,因为当您使用与bash不同的东西时,例如zsh,它可能无法工作。配置文件是正确的位置。

我在我的新Mac M1中安装了brew,并要求我将
/opt/homebrew/bin
放在路径中,因此适用于这种情况的正确命令是:

echo "export PATH=/opt/homebrew/bin:$PATH" >> ~/.bash_profile && source ~/.bash_profile

根据最新文档,您需要执行以下操作:

echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/dhruv/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

现在,您应该可以在任何地方运行brew。

谢谢您,彼得。你帮了大忙!非常酷和详细的解释。谢谢你,伙计!仅供参考,它是用一个词写的:自制的。
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/dhruv/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"