bashrc, .profile #code #sh
.bashrc, .profile
# ログイン時
/etc/profile システム全体設定
~/.profile ユーザ固有設定
# bash起動時
/etc/bash.bashrc
~/.bashrc
====
/etc/profile
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
~/.bash_logout
ユーザーがログインすると、まず/etc/profileを読み込み、次に~/.bash_profileを読み込みます。~/.bash_profileが存在しない場合は、~/.bash_loginを読み込みます。~/.bash_loginもない場合は~/.profileを読み込みます。~/.bash_logoutは、ログアウト時に読み込まれるファイルです。
http://www.atmarkit.co.jp/flinux/rensai/theory09/zu01s.gif
bashrc を読み込むポイントはどこですか。
では、ログイン時にbashrcを読み込むにはどこに書くべきでしょうか。/etc/profileでしょうか。~/.profileでしょうか。
.profile でもイイですが、Bashでは~/.bash_profile に書きます。
bash がログインシェルで実行された場合 ~/.bash_profile を読み込みます。~/.profileは 他のシェル設定が書かれているかもしれないので、汚染を防ぐためだと考えられます。
bashしか使わないなら、.profileで問題ないのです。
~/.profileの内容
~/.profileのデフォルトに書かれています。
僕のDebianには次のように書かれていました。
# ~/.profile: executed by the command interpreter for login shells.
# ~/.profile は他のログインシェルも実行するファイルです。
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# この~/.profileは .bash_profileや .bash_login があれば、Bashは読みません
# see /usr/share/doc/bash/examples/startup-files for examples.
# さらに詳しい例は、次のファイルを呼んでみてください。/usr/share/doc/bash/examples/startup-files
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
まとめ
bashしか使わないなら、~/.profileに設定書いちゃって構わない。
~/.profile に ~/.bashrc を呼び出す設定を書けばいい。