mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Linux - bash 設定ファイル(Debian 系)!

[ サーバ構築 ] [ Debian, Linux, bash, シェル ]

こんばんは。

前回は Redhat 系 Linux ディストリビューション上の bash(Bourne Shell) の読み込み順について簡単に説明しました。

その中で Debian 系は若干異なると記載しました。
今回は Debian 系での bash 設定ファイル読み込み順についての備忘録です。

0. 前提条件

  • Debain, Ubuntu, Linux Mint などの GNU Debian 系 Linux ディストリビューションを想定。(Redhat 系は多少異なる。また、バージョンによって異なることもある)
  • 以下の説明はデフォルト設定での読み込み順を想定。

1. bash 設定ファイル

各種 bash 設定ファイルの読み込み順と簡単な説明。(Debian 系の場合。Redhat 系は若干異なる)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[1]------------------+
|  /etc/profile      |
+--------------------+
         |
[2]------------------+
|  /etc/bash.bashrc  |
+--------------------+
         |
[3]------------------+
|  ~/.bash_profile   | ---->(ない場合)
+--------------------+           |
         |             [4]------------------+
         |             |  ~/.bash_login     | ---->(ない場合)
         |             +--------------------+           |
         |                                    [5]------------------+
         |                                    |  ~/.profile        |
         |                                    +--------------------+
         |                                              |
         |                                    [6]------------------+
         |                                    |  ~/.bashrc         |
         |                                    +--------------------+
[7]------------------+                                  |
|  ~/.bash_logout    | <--------------------------------+
+--------------------+
  1. /etc/profile
    システム共通の設定ファイルで、ログイン時にのみ読み込まれる。
    デフォルトの設定では “/etc/profile.d” ディレクトリ配下の “.sh” 拡張子のファイルも実行する。
  2. /etc/bash.bashrc
    システム共通の設定ファイルで、ログイン時に /etc/profile から読み込まれる。
  3. ~/.bash_profile
    ユーザ個別の設定ファイルで、存在すればログイン時に読み込まれる。
  4. ~/.bash_login
    ユーザ個別の設定ファイルで、存在すればログイン時に “~/.bash_profile” が存在しない場合に読み込まれる。
  5. ~/.profile
    ユーザ個別の設定ファイルで、ログイン時に “~/.bash_profile”, “~/.bash_login” がともに存在しない場合に読み込まれる。
  6. ~/.bashrc
    ユーザ個別の設定ファイルで、bash 起動時に読み込まれる。
    (デフォルトでは ~/.profile から読み込まれるようになっている)
  7. ~/.bash_logout
    ユーザ個別の設定ファイルで、ログアウト時にのみ読み込まれる。

2. まとめ

デフォルトでは “~/.bash_profile”, “~/.bash_login” を作成してしまうと “~/.profile” どころか “~/.bashrc” も読み込まれなくなることに注意。

当方は、"~/.bash_profile" や “~/.bash_login” は作成せず、"~/.profile" に環境変数の設定を記載し、 bash 起動時にのみ設定したいものは “~/.bashrc” に記載するようにしている。

また、各ファイル内をカスタマイズして読み込み順を変更する方法を考えてもよいだろう。


有事の際に確認できるようにと記録しておいた次第です。

以上。

Comments