为什么我的 .bashrc 和 .bash_profile 与 echo $path 不同

Chr*_*hvh 1 bash laravel-valet

我试图在我的路径中添加一些东西。但由于我对终端非常熟悉,我想我搞砸了。

当我这样做时,echo $PATH我得到:

/Users/christoph/.node/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

但是当我打开时,.bashrc我看到了这个:

alias homestead=~/.composer/vendor/bin/homestead

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc

export PATH="$PATH:$HOME/.composer/vendor/bin"
Run Code Online (Sandbox Code Playgroud)

当我打开 .bash_profile 我看到这个:

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

我想做这一步:(安装laravel valet)

通过 composer global require laravel/valet 使用 Composer 安装 Valet。确保 ~/.composer/vendor/bin 目录在您系统的“PATH”中。

我很困惑我应该如何添加这条路径。另外我需要把它放在哪个文件中?

我正在使用 MAC OSX El Capitan

Pat*_*ara 5

从您的.bashrc!!! 中删除此行

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

每次登录时,它都会在 bashrc 中添加一个新行。

总的来说,你应该只在单个文件中修改你的 PATH 环境变量(.bash_profile但很多人会在修改时出错.bashrc)。它是这样工作的: PATH 是由 ':' 字符分割的目录列表,$PATH扩展到这个列表的前一个值。例子:

export PATH=/fooo:/barr:/bazzz
Run Code Online (Sandbox Code Playgroud)

将这些树目录准确放置在 PATH 变量中。在您的情况下,您应该在您的以下行中.bash_profile

export PATH=$PATH:$HOME/.node/bin:$HOME/.composer/vendor/bin
Run Code Online (Sandbox Code Playgroud)

并删除所有不必要的别名。