web-dev-qa-db-ja.com

Mac OS Xの.bashrcが機能しない

ホームディレクトリに1行の.bashrcファイルがあります。

alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'

しかし、それはエイリアスを作成していません。それはなぜでしょうか。

70

OSXでは、.bash_profileの代わりに.bashrcが使用されます。

そして、.bash_profileファイルは/Users/YourName/に配置されるべきです。
(つまり、~/.bash_profile

たとえば、/Users/Aaron/.bash_profile

88
Azz

.[bash_]profile.bashrcは、OS XとLinuxの両方で使用できます。前者はシェルがログインシェルのときにロードされます。そうでない場合は後者。本当の違いは、ユーザーがグラフィカルセッションにログインするとLinuxがログインシェルを実行し、次にターミナルアプリケーションを開くと、それらのシェルは非ログインシェルになることです。一方、OS Xはグラフィカルログイン時にシェルを実行せず、Terminal.appからシェルを実行すると、これがログインシェルになります。

エイリアスをログインシェルと非ログインシェルの両方で機能させる場合(通常は有効です)、それらを.bashrcおよびのソースに含める必要があります。このような行で、あなたの.bash_profileの中のbashrc:

[ -r ~/.bashrc ] && source ~/.bashrc

これはbashを使っているすべてのシステムに当てはまります。

80
LaC

または、あなたの.bashrcを指し示す.bash_profileというsymリンクを作成してください。

ln -s .bashrc .bash_profile
7
Barrett

Mac OS Xでは.bash_profileの代わりに.bashrcが使用されているので、エイリアスされていません。

だからあなたは2つのオプションがあります:

  • あなたの~/.bash_profileにエイリアスを入れてください

  • または、次の行を.bashrcに追加して、.bash_profileから.bash_profileを取得します。

    . ~/.bashrc

2
Wuffers

Mac OS X Yosemiteで、次のコマンドを実行します。

vi ~/.profile

その後、次の行を追加してください。

source ~/.bashrc

.profileを保存して閉じてから、新しいターミナルウィンドウを開くか、単に実行します。

source ~/.profile

この答えも 見てください 。それはv10.10.3で動きました。

1
Ricardo