Snow Leopardマシンにrvmをインストールしたい。
.bashrc
ファイルに行を追加する必要があります(bashを使用しています)が、.bashrc
ファイルはどこにありますか?
Snow Leopardマシンにrvmをインストールしたい。
.bashrc
ファイルに行を追加する必要があります(bashを使用しています)が、.bashrc
ファイルはどこにありますか?
回答:
.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)では、sourceに行がありませんでした~/.bashrc
。この機能を自分で追加する必要がありました。
一部のシステムおよび他のOSでは.bashrc
、グローバル/etc/profile
またはからソースされているか/etc/bash_profile
、またはからのテンプレートファイルを使用して行われます/etc/skel
。
正直に言う.bashrc
と.bash_profile
、コミュニティの違いはよく理解されていません。多くの開発者が「これを.bashrcに追加」と言ったとき、彼らが本当に意味するのは「これを.bash_profileに追加」です。彼らは、非ログインシェルではなく、ログインシェル(つまり.bash_profile
)に機能を追加することを望んでいます。実際には、通常は問題ではなく、構成を配置することは許容されます。.bashrc
そのため、Mac OS X Snow LeopardとMac OS X Lionでは、ロードされるファイルは.profile
でなくであることが判明しました.bashrc
。
あなたがしたいのは、ファイルを作成し、~/.profile
それを.profileと呼びます(まだ存在しない場合)。
bashの各インスタンスで読み込むために必要な情報をそこに入れます(ありがとう、purplepixel)。
サイドノートのカップル:
-a
は、パラメータとしてasを使用します。ls -a
~
記号は/Users/YourUserName
、YourUserNameがユーザー名の短縮名を表します。編集:Chris Pageは、.profileファイルに配置するものは、使用しているシェル(zhs、bashなど)に適用されることを(正しく)指摘しています。内容がbashシェルのみに影響する.bash_profile
ようにするには、.profile
ファイルではなくファイルに内容を配置します。
.bash_profile
ホームディレクトリに既に存在する場合、.profile
ファイルは読み取られないことに注意してください!
あなたは自分で作らなければなりません.bashrc
。テキストエディタを使用して、.bashrc
必要なコンテンツを含む(拡張子なし)というファイルを作成し、ホームディレクトリ(/Users/YourUserName/
)に保存するだけです。
.bashrc
は機能しますが、がない場合のみです.profile
。~/.profile
ただし、デフォルトで存在すると思います。お役に立てて嬉しいです!(そして、あなたはあなたのソリューションを答えに入れて、この質問の将来の読者のためにそれを受け入れるべきです)。
私のOS 10.6.5では、bash設定が「/ etc / bashrc」にあることがわかりました。これがシェルのトップレベルの仕様だと思います。
ただし、変更するにはルートアカウントが必要です。ローカルのユーザーごとの指定「〜/ .bashrc」は、システムレベルのbash設定を読み込んで読み込むために、次のスニペットで始まる必要があります。
if [ -r /etc/bashrc ]; then
. /etc/bashrc
fi
通常、すべてのユーザーがエイリアスにアクセスできるように、システムレベルのbashrcにエイリアスを追加します。ショートカットとエイリアスを使用したくない場合を除きます。
幸運を!
~/.bashrc
でなくホームディレクトリに追加するのが最善/etc/bashrc
です。/etc/bashrc
システム上のすべてのユーザーのグローバル設定です。これはおそらく望んでいないものです。また、Appleが/etc/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"