「~/.bash_profile」と「~/.bashrc」のどちらに個人設定を書くべきか

Linux でエイリアスなどの個人設定を永続的に設定する場合、「~/.bash_profile」か「~/.bashrc」に記載することが多いようです。

であれば、どちらに書いた方がいいのでしょうか?に対するアンサーです。

~/.bash_profile と ~/.bashrc が読み込まれるタイミング

~/.bash_profile はログインしたときだけ読み込まれ、~/.bashrc は bash が起動する度に読み込まれます。

言い換えると、~/.bash_profile の設定はログインシェルでのみ有効になり、~/.bashrc の設定はログインシェル、対話型シェルの両方で有効になります。

ここで結論を言ってしまうと、~.bashrc に書く方がよいでしょう。

対話型シェル

ログインシェルから別のプロセスとして起動するシェル(例:直接/bin/bashを実行する)

以下に CentOS7.4 のデフォルトの ~/.bash_profile と ~/.bashrc を記載します。

~/.bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

~/.bashrc

# .bashrc

# User specific aliases and functions

alias rm=’rm -i’
alias cp=’cp -i’
alias mv=’mv -i’

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
[root] ~ >

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)