「.profile」ファイルにカスタマイズ別名コマンドを入れないで、私は非常に多くの提案を読みました。むしろ、自分用に.bash_profileを作成し、エイリアスなどを追加します。
しかし、新しいターミナルを開いたときに、.bash_profileのみがある場合、OS Xはそれに記載されているコマンドをエクスポート/ソースしません。 .bash_profileを手動で入手する必要があります。
.profileファイルを作成すると、新しいターミナルを開くと、.profileのすべてのコマンドが実行され、すぐに使用できるようになります。
理解を助けてください、それはどのように機能しますか?また、.bashrc/.profile/.bash_profileファイルを使用する場合。
ありがとう!
OS Xに付属のマニュアルページによると:
...
~/.bash_profile
、~/.bash_login
、および~/.profile
をこの順序で探します。存在し、読み取り可能な最初のコマンドからコマンドを読み取り、実行します。--noprofile
オプションは、シェルの起動時にこの動作を禁止するために使用できます。
~/.profile
も~/.bash_profile
も読み取り可能でない場合、最後の手段として~/.bash_login
のみを読み取る必要があります。
すべてのOS Xシステムで、~/.bash_profile
を次のように設定しています。
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
期待どおりに~/.bashrc
ファイルをbashに読み取らせるために、OS Xでこれを行うことを強くお勧めします。
端末のシェルがデフォルトでbashではなくshになっている可能性もあります。これを最初に確認できます:
$ echo $Shell
/bin/tcsh
これをbashに変更するには、[ターミナル]-> [設定]-> [スタートアップ]タブに移動し、[シェルで開く:]を[デフォルトログインシェル]から[コマンドおよび値/ bin/bash]に変更します。
または、コマンドプロンプトで次のコマンドを実行して、デフォルトのシェルを変更できます。
chsh -s bin/bash
これらのいずれかを実行した後、新しいシェルウィンドウを開くと、.bash_profileが取得されます。
Bashは、Bashのマニュアルページに記載されているように、最初に/etc/profile
ファイルを探すことに注意してください。
Bashが対話型ログインシェルとして、または--loginオプションを使用した非対話型シェルとして起動されると、最初に/ etc/profileファイルからコマンドが読み取られ、実行されます(そのファイルが存在する場合) 。そのファイルを読み取った後、〜/ .bash_profile、〜/ .bash_login、および〜/ .profileをこの順序で検索し、存在し、読み取り可能な最初のコマンドからコマンドを読み取り、実行します。 --noprofileオプションは、この動作を禁止するためにシェルを起動するときに使用できます。