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)
幾つかのサイドノート
- ファイルの前にピリオドを付けると、そのファイルは Finder と ls コマンドからは見えなくなり、デフォルトでは見えなくなります。Terminal から ls コマンドを使用して不可視ファイルを一覧表示するには、パラメータとして
-aを使用します。ls -a ~記号は/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

