bash – Mac OS X Snow Leopard と Lion で .bashrc ファイルを見つけるには?

.bash-profile bash osx-lion osx-snow-leopard terminal

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

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

  91  Yuval  2010-05-30


ベストアンサー

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

ほとんどのシステムでは、~/.bashrcは対話的な非ログインシェルを起動するときにのみ使用されます。しかし、新しいシェルを起動するときは、対話的なログインシェルであることが多いです。これはログインシェルなので、.bashrcは無視されます。非ログインシェルとログインシェルの間で環境の一貫性を保つためには、.bashrc のソースを .profile.bash_profile にしなければなりません

Bash リファレンスマニュアルの 6.2 Bash の起動ファイル を参照してください

対話的なログインシェルとして、または –login と共に起動されます

対話的なログインシェルとして、あるいは –login オプションで非対話的なシェルとして Bash が起動されると、まず /etc/profile ファイルが存在する場合には、/etc/profile からコマンドを読み込んで実行します。そのファイルを読んだ後、~/.bash_profile、~/.bash_login、~/.profile の順に探し、最初に存在して読めるものからコマンドを読み込んで実行します

対話的な非ログインシェルとして起動されます

ログインシェルではない対話型シェルが起動されると、Bash は ~/.bashrc ファイルが存在する場合は ~/.bashrc からコマンドを読み込んで実行します

そのため、通常、~/.bash_profile にはこの行が含まれています

   if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

ログイン固有の初期化の後(またはその前)に

私のMac(Leopardを実行している)では、~/.bashrcをソースにする行がありませんでした。この機能は自分で追加しなければなりませんでした

いくつかのシステムや他のOSでは、.bashrcはグローバルな/etc/profile/etc/bash_profileからソースを取得したり、/etc/skelのテンプレートファイルを使って行われます

正直言って、.bashrc.bash_profileの区別はコミュニティではよく理解されていません。多くの開発者が「これをあなたの .bashrc に追加してください」と言うとき、本当の意味は「これをあなたの .bash_profile に追加してください」ということです。彼らは機能をログインシェル (.bash_profile) に追加したいのであって、非ログインシェルに追加したいのではありません。実際には、通常はそれは重要ではなく、.bashrc に設定を置いても構いません

79  Stefan Lasiewski  2010-06-01


だから、Mac OS X Snow Leopardだけでなく、Mac OS X Lionでは、読み込まれたファイルは.profileではなく.bashrcと呼ばれていることが判明しました

何をしたいかというと、~/.profileにファイルを作成して、それを.profileと呼びます(まだ存在していない場合)

bash の各インスタンスでロードするために必要な情報は何でもそこに置いてください(ありがとう、thepurplepixel)

幾つかのサイドノート

  1. ファイルの前にピリオドを付けると、そのファイルは Finder と ls コマンドからは見えなくなり、デフォルトでは見えなくなります。Terminal から ls コマンドを使用して不可視ファイルを一覧表示するには、パラメータとして -a を使用します。ls -a
  2. ~ 記号は /Users/YourUserName を表し、YourUserName はユーザ名の短縮名です

編集: クリス・ペイジは (正しくは) .profile ファイルに記述した内容は、使用しているシェルが何であれ (例: zhs, bash, など) 適用されることに注意しています。もし内容を bash シェルだけに影響を与えたい場合は、.profile ファイルではなく .bash_profile ファイルに内容を記述してください

62  Yuval  2011-12-20


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

4  squircle  2010-05-30


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

ただし、変更するにはrootアカウントが必要です。ローカルのユーザ単位の仕様”~/.bashrc “は、システムレベルのbash設定を読み込んでロードするために、以下のスニペットで始まるはずです

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

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

Good luck!

3  geekborj  2010-11-26


linuxの.bashrcファイルに追加するものは、.profileファイルを使って追加してください

For example

PATH=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/:/opt/local/bin:/opt/depot_tools/:~/bin:$PATH
alias t='/Users/<username>/.todo/todo.sh'
alias punch='python /Users/<username>/.todo/Punch.py'
alias clock='cat </dev/tcp/time.nist.gov/13'
alias sudotext="sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit"

1  speeds images  2010-06-01


タイトルとURLをコピーしました