105.1標準
Bashをログインシェルとして起動する。
ホームには.bash_profile、.bash_login、.profileの3つがすべて存在する。
/etc/profileの後、Bashが最初に読み込むユーザー設定はどれか。
× 不正解
対話的ログインBashは/etc/profileの後、~/.bash_profile、~/.bash_login、~/.profileの順に探し、最初の1つだけを読む。
詳細解説
正しい
~/.bash_profile3候補のうち最初に存在する.bash_profileを読み、後続候補は読まない。
正しい。.bash_profileが存在するためBashはこれを読み、.bash_loginと.profileの探索を終了する。
誤り
~/.bash_login.bash_profileが存在しない場合の次候補である。
誤り。.bash_loginへ進むのは.bash_profileが存在しない場合だけである。
誤り
~/.profile先行する2つが存在しない場合の候補である。
誤り。.profileは移植性の高い候補だが、先行するBash固有ファイルが2つともない場合に選ばれる。
誤り
~/.bashrc対話的非ログインシェルの標準的な設定で、ログイン時に自動選択される3候補ではない。
誤り。ログイン処理から明示的にsourceする構成は多いが、この3候補と同じ規則で自動選択されない。
実際に確かめる
一時的な検証環境で実行できる例です。
man bash | col -b | grep -A8 'When bash is invoked as an interactive login shell' | sed -n '1,10p'期待される結果
.bash_profile、.bash_login、.profileをこの順に探す説明理解のポイント
- 最初に存在する1ファイル
- .bash_profileが最優先
- .bashrcは別系統
確認時の注意
- 確認環境: GNU Bash 5.2 / マニュアル参照
基礎のおさらい
システム設定
対話的ログインBashはユーザー候補より前に/etc/profileを読む。
設定共有
.bash_profileから.bashrcをsourceすると、ログインBashでも対話用設定を共有できる。
問題IDKP-105-600
確認環境GNU Bash 5.2 / マニュアル参照
最終技術確認2026-08-13
誤り・権利侵害を報告