25.3 初期設定ファイル

前の節でシェルの環境変数やエイリアスの設定の仕方を述べましたが,シェルにログインする度にこれらを設定し直すのは大変です. シェルが起動されるときに読み込まれる初期設定ファイルを使うと,ログイン時に自動で設定を行うことができます.

bash の場合には ホームディレクトリ直下にある .bashrc と .bash_profile という二つのファイルを初期設定ファイルとして用います.厳密にはこの二つのファイルは役割が違うのですが,ここでは設定を .bashrc に書くことにしましょう.

例えば,エイリアスと変数を自分の好みに設定してみましょう.

export EDITOR=emacs
alias more=less
alias mroe=more
alias ls='ls -F'
alias ll='ls -l'
alias rm='rm -i'
export PATH=$HOME/bin:$PATH

このように .bashrc に書いた上で保存しておきます.もし既に .bashrc があるならば,上のものを末尾にでも書き加えておきます.

.bashrc を書き換えただけでは,その中身はまだシェルの挙動に反映されません.そこで新しいシェルを開いてみましょう.例えばターミナルウィンドウを新しく開けば新しくシェルが起動されます.(なお,現在実行中のシェルに反映させるには 

. .bashrcreturn2
(ピリオドの後にスペースを書き,さらにピリオド,b,a,s,h,rとcを入力)とします.)

これらのエイリアスは反映されたでしょうか?たとえば

llreturn2

としただけで

ls -l return2

としたのと同じ表示になれば成功です.次回シェルを起動するときには,既に .bashrc が存在しますから,勝手に読み込んでくれます.

この初期設定ファイルはかなりのカスタマイズが可能です.上級者はシェルスクリプトなどをここに書いて,環境をうまく制御することもあります.うまい設定をまねることも上達への道かも知れません.また,初期設定ファイルは非常に重要なファイルです.変更するのに過度に慎重になる必要はありませんが,場合によってはシェルがうまく起動できなくなる可能性もあります.何か問題が起きたら詳しい人に相談してみて下さい.

.bashrc と .bash_profile という二つのファイルは役割が違うのですが.bash_profileはログインシェルを立ち上げたとき(新しくターミナルを開くなど)に実行されますので,.bash_profileから.bashrcを呼ぶように設定すれば,全て.bashrcでも大丈夫です.具体的にはホームディレクトリに .bash_profile という名前のファイルを作り,そこに

. $HOME/.bashrc

と書いておきます.

csh や tcsh では .cshrc あるいは .tcshrc がシェルの初期設定ファイルです.文法なども異なるので注意して下さい.csh 系シェルの場合,

source .cshrc return2
とすることで初期設定ファイルの中身をシェルに反映させることができます.