私のSnow Leopardマシンにrvmをインストールしたい。
それは私が私の.bashrc
ファイルに行を追加する必要があると言っています(私はbashを使っています)が、私の.bashrc
ファイルはどこにありますか?
つまり、Mac OS X Snow LeopardやMac OS X Lionでは、ロードされるファイルは.profile
ではなく.bashrc
という名前です。
あなたがしたいのは、~/.profile
でファイルを作成し、それを.profileと呼ぶことです(まだ存在していない場合)。
Bashの各インスタンスにロードするために必要な情報をそこに入れてください(ありがとう、thepurplepixel)。
いくつかの補足説明:
-a
をパラメータとして使います:ls -a
~
記号は/Users/YourUserName
を表します。ここで、YourUserNameはユーザー名の短縮名です。編集:Chris Pageは、.profileファイルに配置したものは、使用しているシェル(zhs、bashなど)にも適用されることを(正しく)指摘しています。内容をbashシェルだけに適用したい場合は、.bash_profile
ファイルではなく.profile
ファイルに内容を入れてください。
上記の.bashrc
の問題に関して:
ほとんどのシステムで、~/.bashrc
は、対話型非ログインシェルを起動するときにのみ使用されます。ただし、新しいシェルを起動すると、多くの場合対話型ログインシェルになります。これはログインシェルなので、.bashrc
は無視されます。非ログインシェルとログインシェルの間で環境の一貫性を保つには、.bashrc
または.profile
から.bash_profile
を取得する必要があります。
Bashリファレンスマニュアルのセクション を参照してください。6.2 Bash起動ファイル
対話型ログインシェルとして、または--loginを使用して呼び出されます。
Bashが対話型ログインシェル、または--loginオプション付きの非対話型シェルとして呼び出されると、そのファイルが存在する場合は、最初に/ etc/profileファイルからコマンドを読み込んで実行します。そのファイルを読み込んだ後、〜/ .bash_profile、〜/ .bash_login、および〜/ .profileの順に検索し、存在して読み取り可能な最初のコマンドからコマンドを読み取って実行します。
対話型の非ログインシェルとして呼び出されます
ログインシェルではない対話型シェルが起動されると、そのファイルが存在する場合、Bashは〜/ .bashrcからコマンドを読み込んで実行します。
そのため、通常、〜/ .bash_profileには次の行が含まれています。
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
ログイン固有の初期化の後(または前)。
私のMac(Running Leopard)では、~/.bashrc
をソースにする行がありませんでした。私は自分でこの機能を追加しなければなりませんでした。
一部のシステムや他のOSでは、.bashrc
はグローバルな/etc/profile
または/etc/bash_profile
から供給されるか、/etc/skel
からのテンプレートファイルを使用して行われます。
.bashrc
と.bash_profile
の区別は、率直に言ってコミュニティによってよく理解されていません。多くの開発者が「これをあなたの.bashrcに追加する」と言うとき、彼らが本当に意味するのは「これをあなたの.bash_profileに追加する」ということです。彼らはあなたのログインシェル(これは.bash_profile
)に追加されるべきであり、あなたの非ログインシェルには追加されたくないのです。実際には、通常それは問題ではなく、設定を.bashrc
に配置することは許容されます。
あなたはあなた自身の.bashrc
を作らなければなりません。テキストエディタを使用して、必要な内容の.bashrc
(拡張子なし)というファイルを作成し、ホームディレクトリ(/Users/YourUserName/
)に保存することができます。
私のOS 10.6.5ではbashの設定が "/ etc/bashrc"にあることがわかりました。これはShellのトップレベルの仕様だと思います。
ただし、それを変更するにはrootアカウントが必要です。システムレベルのbash設定を読み込んで読み込むには、ローカルのユーザーごとの指定 "〜/ .bashrc"を次のスニペットで始める必要があります。
if [ -r /etc/bashrc ]; then
. /etc/bashrc
fi
私は通常、システムレベルのbashrcにエイリアスを追加して、すべてのユーザーがそれらにアクセスできるようにします。あなたのショートカットやエイリアスを使いたくないのでなければ。
がんばろう!
.profileファイルを使用して、Linuxの.bashrcファイルに追加するものをすべて追加します。
例えば
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"