~/.bashrcから追加のパスを取得できません。

~/.bashrcから追加のパスを取得できません。

$PATHの指定されたパスを設定したいと思います。

一番上に書いた.bashrc

$ cat ~/.bashrc
export PATH=/usr/local/opt/coreutils/libexec/gnubin:$PATH

有効にして

$ source ~/.bashrc

効果がある

/usr/local/opt/coreutils/libexec/gnubin:/Users/me/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/me/.rvm/bin:/usr/local/mysql/bin:/Users/me/.rvm/bin:/Users/me/.rvm/bin:/Users/me/.rvm/bin

それでも新しい端末を開くと消えます。

$ echo $PATH
/Users/me/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/me/.rvm/bin:/usr/local/mysql/bin

テストですべての端末を閉じて再起動しました。

$ echo $PATH
/Users/me/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/me/.rvm/bin:/usr/local/mysql/bin

道は/usr/local/opt/coreutils/libexec/gnubinそこにありません。

私の仕事を確認しました。

1. put desired path to the top
2. export it 
3. source to activate it.

私の手術には何の問題がありますか?

答え1

macOS(あなたが使っていると思われる)のターミナルアプリ(そしてiTerm)は次のように実行します。ログインデフォルトはシェルです。bashログインシェルで起動すると、~/.bash_profileファイルは読み込まれますが~/.bashrc

ターミナル環境設定で、ターミナルがシェルを起動する方法を変更するか、~/.bash_profile以下を追加して(おそらくファイルの最後に)ソースファイルをファイルにすることができます。~/.bashrc~/.bash_profile

if [[ "$-" == *i* ]] && [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

~/.bashrcこれにより、対話式シェル用のファイルが存在する場合、ログインシェルもそのファイルを読み取ることができます~/.bashrc

代わりにに直接修正を追加することもできPATHます~/.bash_profile。 macOSは、~/.bashrcユーザーのホームディレクトリにデフォルトファイルをインストールしないと思います。

関連:

関連情報