MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/25 おすすめ情報に 『 【案件】Azure AD関連の認証設計/azureの基本設計 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


bash設定ファイルの読み込み順
profile-img
投稿者: nac_fisさん
投稿日:2023/02/16 14:41
更新日:
like-img
分類
技術
テクノロジー
Unix系サーバ
キャリア
運用・保守 / テクニカルサポート
投稿内容
LPICで勉強したことを忘れそうなので復習としてご紹介します。


多くのLinuxディストロで標準になっているであろうbashですが、設定ファイルが複数存在するほか、シェルの種類によって読み込むファイルや順番が異なります。


順番の前にシェルの種類について。
ログインシェル、非ログインシェル:
ログインシェルはログイン時に起動するシェルです。--loginオプションを付けることで起動することもできます。
一方非ログインシェルは、ログインシェルから$bashなどで起動することが出来ます。Windowsで例えるとデスクトップ画面からコマンドプロンプトを起動するイメージが近いでしょうか。

インタラクティブモード、ノンインタラクティブモード:
インタラクティブ(対話)モードのシェルは標準入出力がキーボード/モニターに接続されています。コマンドを入力して結果を表示するといったようなことが可能です。
↑の(非)ログインシェルの例はどちらもインタラクティブモードといえます。
ノンインタラクティブ(非対話)モードのシェルはスクリプトの実行時などに呼び出されます。非対話なのでスクリプトの実行が終わると自動で終了します。


そして設定を読み込む順ですが
ログインシェル:
/etc/profile

(/etc/bash.bashrc)※Debian系のみ

~/.bash_profile

(~/.bash_login)※.bash_profileが存在しなかった場合読み込み

(~/.profile)※.bash_profileも.bash_loginも存在しなかった場合読み込み

(~/.bashrc)※対話モードで起動した場合読み込む


インタラクティブな非ログインシェル:
(/etc/bash.bashrc)※Debian系の場合

~/.bashrc

(/etc/bashrc)※存在する場合

ノンインタラクティブモードの場合は何も読み込みません。



それぞれの内容については、
profileには主に環境変数を設定し、
bashrcにはエイリアスやシェル変数などを設定します。
大抵の設定はbashrcに書いておけば何とかなるらしいです。真偽のほどは不明ですが。
また、すべてのユーザーに適応したい設定は/etc以下に、個々に設定したい場合にはホームディレクトリ以下に記述しておくのがいいでしょう。

参考URL:

https://qiita.com/ikkyu193/items/5c9a87b22fdf7697422e


コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3