~/.bash_login:.bash_profileが無い場合に使用される設定ファイル

目次
~/.bash_loginについての概要と詳細
~/.bash_loginとは
~/.bash_login は、ログインシェルとして起動された Bash が、ユーザーの環境設定を読み込む際に実行する初期化ファイルの一つです。
このファイルは ~/.bash_profile が存在しない場合に限り、自動的に読み込まれます。Bash の起動時に優先順位が定められており、以下の順に存在するかを確認します:
~/.bash_profile~/.bash_login~/.profile
つまり、~/.bash_profile が存在する場合は ~/.bash_login は無視されます。
主な用途
- ログイン時に読み込ませたい環境変数の定義
~/.bashrcの読み込み- パスの設定や初期化スクリプトの実行
内容の例
# ~/.bash_login の例
# ユーザー独自のパスを追加
export PATH="$HOME/bin:$PATH"
# 環境変数の定義
export EDITOR=vim
export LANG=ja_JP.UTF-8
# bashrc を読み込む
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fibashの読み込み順との関係
bashがログインシェルとして起動されるとき、以下の順序でファイルの存在を確認し、最初に見つかったファイルのみを実行します:
~/.bash_profile:あればこれだけが読み込まれる~/.bash_login:~/.bash_profileがない場合のみ~/.profile:上記2つがどちらもないときに読み込まれる
~/.bash_loginの使用例
歴史的には ~/.bash_profile よりも古く、Unixの他のシェル(shなど)との互換性を意識した環境で利用されることがありました。最近のディストリビューションでは、一般的に ~/.bash_profile を使うことが多く、~/.bash_login はあまり使用されていません。
注意点
- 他に
~/.bash_profileや~/.profileが存在していると、~/.bash_loginは実行されません。 - ログインシェルでのみ有効であり、非ログインシェル(端末起動など)では読み込まれません。
- 今後の環境整備では
~/.bash_profileを優先するのが推奨されます。
まとめ
~/.bash_login は、Bashのログインシェルで読み込まれる初期化ファイルのひとつで、~/.bash_profile が存在しない場合に限って実行されます。
設定内容は ~/.bash_profile と同様であり、エイリアスや環境変数、初期スクリプトなどを記述できます。ただし、現在ではあまり使用されず、~/.bash_profile や ~/.profile に統一するケースが主流です。





