2010-05-30 21:03:42 +0000 2010-05-30 21:03:42 +0000
90
90

Mac OS X Snow Leopard と Lion で .bashrc ファイルはどこにありますか?

Snow Leopard マシンに rvm をインストールしたいのですが

.bashrc ファイルに行を追加する必要があると書いてありますが(bash を使っています)、私の .bashrc ファイルはどこにありますか?

回答 (5)

79
79
79
2010-06-01 17:26:31 +0000

上記の.bashrcの問題について:

ほとんどのシステムでは、~/.bashrcinteractive 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 に置くことは許容されます。

61
61
61
2011-12-20 23:51:49 +0000

ということで、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 ファイルに内容を配置してください。

4
4
4
2010-05-30 21:05:13 +0000

自分で.bashrcを作る必要があります。テキストエディタで好きな内容の.bashrc(拡張子なし)というファイルを作って、ホームディレクトリ(/Users/YourUserName/)に保存すればいいだけです。

3
3
3
2010-11-26 08:02:07 +0000

私のOS 10.6.5ではbashの設定が「/etc/bashrc」にあることに気がつきました。これがシェルのトップレベルの仕様だと思います。

しかし、これを修正するにはrootアカウントが必要です。ローカルのユーザーごとの仕様「~/.bashrc」は、システムレベルのbash設定を読み込んでロードするために、以下のスニペットで始まるはずです。

if [-r /etc/bashrc]; then
    . /etc/bashrc 
fi

私は通常、システムレベルのbashrcにエイリアスを追加して、すべてのユーザーが同様にアクセスできるようにしています。ショートカットやエイリアスを使いたくない場合は別ですが。

1
1
1
2010-06-01 18:18:27 +0000

.profile ファイルを使用して、linux の .bashrc ファイルに追加するものは何でも追加できます。