.bash_profileと.bashrc の違いについて
概要
ユーザー環境のカスタマイズで「パス」、「エリアス」など追加などする場合は、「.bash_profile」や「.bashrc」に追加します。
「.bash_profile」や「.bashrc」は、用途によって使い方を分けて書いたりします。その違いなどを説明します
「.bash_profile」と「.bashrc」の実行されるタイミング
「.bash_profile」や「.bashrc」が実行されるタイミングですが、どちらもユーザーがログインしたタイミングです。読み込まれる順番は、「.bash_profile」>「.bashrc」で、「.bash_profile」が読み込まれてから、「.bashrc」が読み込まれます。
「.bash_profile」と「.bashrc」の違い
「.bash_profile」と「.bashrc」の違いは、以下のようになります。
「.bash_profile」はログインした時に実行され、「.bashrc」はシェル(bash)を起動した時に実行されます。
.bash_profile | ログイン時に実行される |
.bashrc | シェル(bash)起動時に実行される |
GUI環境のX Window の場合で、ターミナルを起動する場合は、「.bashrc」のみ実行されます。X Windowでは、ログインして状態となるので、ターミナルを起動しても「.bash_profile」は実行されません
ユーザーを切り替える「su」コマンドでは「su」と「su -」で読み込まれるファイルの違いがあり、以下の表になります。「su -」では、ログインシェルを切り替えてユーザーを切り替えるので、.bash_profileが実行されます
コマンド | .bash_profile | .bashrc |
su | × | ◯ |
su – | ◯ | ◯ |
「.bash_profile」と「.bashrc」の使い分け
私の場合ですが、以下の様な感じで使い分けています。
- .bashrcには、「カスタムプロンプト」、「エリアス」を設定する
- .bash_profileには、「パス」を設定する
カスタムプロンプトは、PS1をカスタマイズしたものです。
下記では、任意の名前(この場合どこのサーバーかを明記:DTI) ユーザー名 ホスト名としています。
また、操作ログなどに時間を表示する場合などで、PS1で時間を表示する場合も多いようです。以前勤めていた会社のサーバーはその設定でした
PS1="[DTI \u@\h \W]\\$ " # 表示すると下記になります [DTI admin@www01 ~] $
ディスカッション
コメント一覧
まだ、コメントがありません