1.06.1基礎
端末内でログイン扱いではない新しい対話的Bashを起動する。
そのユーザーだけにaliasを設定する。
通常読み込まれる設定ファイルはどれか。
× 不正解
対話的な非ログインBashは~/.bashrcを読む。対話用aliasやプロンプト設定の配置先として使える。
詳細解説
誤り
/etc/profileログインシェル向けの全体設定である。
/etc/profileはログインシェルの開始時に使う全体設定である。指定された非ログインBashが直接読むユーザーファイルではない。
誤り
~/.profileログインシェルのユーザー候補で、非ログインBashは通常直接読まない。
~/.profileはログイン時の候補である。非ログインとして起動したBashは通常これを直接読まない。
正しい
~/.bashrc対話的な非ログインBashがユーザー設定として読み込む。
~/.bashrcは対話的な非ログインBashの標準的なユーザー設定である。aliasやプロンプトなど対話用設定を置く要件に一致する。
誤り
~/.bash_logoutログインシェル終了時の処理用である。
~/.bash_logoutはログインBashの終了時だけが対象である。新しい対話シェルの開始設定にはならない。
実際に確かめる
一時的な検証環境で実行できる例です。
bash --noprofile --rcfile /dev/null -ic 'case $- in *i*) echo interactive;; esac; shopt -q login_shell || echo non-login'期待される結果
interactiveとnon-login理解のポイント
- 対話的非ログイン
- ~/.bashrc
- aliasなどの対話設定
確認時の注意
- 確認環境: GNU Bash 5.2 / 一時シェル
- bash --norcを指定すると対話的でも~/.bashrcを読まない。
基礎のおさらい
対話シェル
端末で利用者からコマンドを受け付けるBashは対話的で、$-にiが含まれる。
非ログインシェル
既存セッション内でbashを起動した場合などは通常非ログインで、対話的なら~/.bashrcを読む。
問題IDKL-102-897
確認環境GNU Bash 5.2 / 一時シェル
最終技術確認2026-08-13
誤り・権利侵害を報告