シェル機能の保存設定

 シェルの機能や設定(エイリアスや変数など)は、通常一時的なものであり、シェルセッションが終了するとリセットされます。これらの設定を永続化するためには、特定の設定ファイルに保存する必要があります。

bashの設定ファイル

ファイル名対象参照される
タイミング
設定内容
/etc/profile全ユーザーログイン時基本的な環境変数
/etc/bashrc
(Red Hat系のみ)
/etc/bash.bashrc
(Debian系のみ)
全ユーザーbash 起動時基本的なエイリアスなど
~/.bash_profile特定ユーザーログイン時ユーザーごとの環境変数
~/.bash_login特定ユーザー~/.bash_profile が存在しない場合のログイン時ユーザーごとの環境変数
~/.profile特定ユーザー~/.bash_profile~/.bash_login が存在しない場合のログイン時ユーザーごとの環境変数
~/.bashrc特定ユーザーbash 起動時やーざーごとのエイリアスなど
~/.bash_logout特定ユーザーログアウト時シェル終了時に実行
bashの設定ファイル

ログイン時におけるシェルの設定ファイルの読み込み順序

 この図は、Bashシェルの初期化ファイルの読み込み順序を示しています。以下に各ファイルの役割と読み込み順序について説明します。

この流れにより、システム全体の設定とユーザー個別の設定が適切に反映されるようになります。

  1. /etc/profile
    システム全体の初期化ファイル。ログインシェルが起動する際に最初に読み込まれます。
  2. /etc/bash.bashrc(Debian系のみ)
     Debian系のシステムで使用される、システム全体のBashシェルの初期化ファイル。ログインシェルが起動する際に読み込まれます。
  3. ~/.bash_profile
     ユーザー個別の初期化ファイル。ユーザーがログインする際に読み込まれます。このファイルが存在しない場合、「~/.bash_login」に進む。
    • ~/.bash_login
       ~/.bash_profileが存在しない場合に読み込まれるユーザーの初期化ファイル。このファイルが存在しない場合、「~/.profile」に進む。
    • ~/.profile
      /.bash_profileと/.bash_loginが存在しない場合に読み込まれる初期化ファイル。
  4. ~/.bashrc
     ユーザー個別のBashシェルの初期化ファイル。他の初期化ファイルからも読み込まれます。
  5. /etc/bashrc(Red Hat系のみ)
     Red Hat系のシステムで使用される、システム全体のBashシェルの初期化ファイル。

bash起動時におけるシェルの設定ファイルの読み込み順序

 この図は、Bashシェルの初期化ファイルの読み込み順序に関する、Debian系およびRed Hat系のシステムの違いを示しています。

    • Debian系システムでは、まずシステム全体の設定ファイル(/etc/bash.bash.bashrc)が読み込まれ、その後ユーザー個別の設定ファイル(~/.bashrc)が読み込まれます。
    • Red Hat系システムでは、ユーザー個別の設定ファイル(~/.bashrc)が読み込まれた後にシステム全体の設定ファイル(/etc/bashrc)が読み込まれます。

     このように、システムごとに初期化ファイルの読み込み順序が異なり、それぞれのシステムの特性に応じた設定が行われるようになっています。

    設定の永続化方法

    ・エイリアスの設定

    エイリアスを永続化するには、~/.bashrc~/.bash_profile に設定を追加します。

    alias ll='ls -la'
    ・環境変数の設定

    環境変数を永続化するには、~/.bashrc~/.profile に設定を追加します。

    export PATH=$PATH:/new/path

    これらの設定を適切なファイルに追加することで、次回シェルを起動した際にも設定が反映されます。