Mac OS X Snow Leopard と Lion で .bashrc ファイルはどこにありますか?
Snow Leopard マシンに rvm をインストールしたいのですが
.bashrc
ファイルに行を追加する必要があると書いてありますが(bash を使っています)、私の .bashrc
ファイルはどこにありますか?
Snow Leopard マシンに rvm をインストールしたいのですが
.bashrc
ファイルに行を追加する必要があると書いてありますが(bash を使っています)、私の .bashrc
ファイルはどこにありますか?
上記の.bashrc
の問題について:
ほとんどのシステムでは、~/.bashrc
はinteractive non-login shellを起動するときにのみ使用されます。しかし、新しいシェルを起動するときは、interactive login shellであることが多いです。これはloginシェルなので、.bashrc
は無視されます。非ログインシェルとログインシェルの間で環境の一貫性を保つためには、.bashrc
をソースにするか、.profile
をソースにする必要があります。
バッシュリファレンスマニュアルを参照してください、 6. 2 Bash Startup Files
対話型ログインシェルとして、または –login で起動された場合 **
Bash が対話型ログインシェルとして、または –login オプションで非対話型シェルとして起動された場合、まず /etc/profile ファイルが存在する場合は、そのファイルからコマンドを読み込んで実行します。そのファイルを読んだ後、~/.bash_profile, ~/.bash_login, ~/.profile の順に探し、最初に存在して読めるものからコマンドを読み込んで実行します。 bashrc からコマンドを読み込んで実行します。
ですから、通常、~/.bash_profile には、ログイン固有の初期化の後(またはその前)に
if [-f ~/.bashrc]; then . ~/.bashrc; fi
の行が含まれています。
いくつかのシステムや他のOSでは、.bash_profile
はグローバルな~/.bashrc
や.bashrc
からソースを取得したり、/etc/profile
のテンプレートファイルを使用したりしています。多くの開発者が “Add this to your .bashrc” と言うとき、彼らが本当に言いたいのは “Add this to your .bashprofile” です。多くの開発者は機能を _login シェル (/etc/bash_profile
) に追加したいのであって、login ではないシェルに追加したいのではありません。実際には、通常はそれは重要ではなく、設定を /etc/skel
に置くことは許容されます。
ということで、Mac OS X Snow Leopard と Mac OS X Lion では、読み込まれるファイルは .profile
ではなく、.bashrc
と呼ばれていることが判明しました。
何をしたいのかというと、~/.profile
にファイルを作成して、それを .profile と呼びます (まだ存在しない場合)。ファイルの前のピリオドは、デフォルトでは Finder と ls コマンドからは見えないファイルとしてマークされます。Terminal から ls コマンドを使用して見えないファイルを一覧表示するには、パラメータとして -a
を使用してください: ls -a
2. ~
記号は /Users/YourUserName
の略で、YourUserName はユーザ名の短縮名です。
編集: Chris Page は、.profile ファイルに配置したものは何であれ、使用しているシェル (例: zhs, bash, など) に適用されることを (正しく) 注意しています。もし内容を bash シェルだけに影響させたい場合は、.bash_profile
ファイルの代わりに .profile
ファイルに内容を配置してください。
私のOS 10.6.5ではbashの設定が「/etc/bashrc」にあることに気がつきました。これがシェルのトップレベルの仕様だと思います。
しかし、これを修正するにはrootアカウントが必要です。ローカルのユーザーごとの仕様「~/.bashrc」は、システムレベルのbash設定を読み込んでロードするために、以下のスニペットで始まるはずです。
if [-r /etc/bashrc]; then
. /etc/bashrc
fi
私は通常、システムレベルのbashrcにエイリアスを追加して、すべてのユーザーが同様にアクセスできるようにしています。ショートカットやエイリアスを使いたくない場合は別ですが。
.profile ファイルを使用して、linux の .bashrc ファイルに追加するものは何でも追加できます。