.bashrc

bashを使うときに、使いやすくするための設定をします。

設定ファイルについて(引用:bashの仕様)

bashはログインシェルとして起動すると、/etc/profile、~/.bash_profile、~/.bash_login、~/.profileの順番で各ファイルをログイン時に一度だけ読み込んで実行します。

ユーザーがログインした後に、ターミナルエミュレータを開くことで起動するシェルを実行したり、コマンドラインから別のシェルを起動したりすることも可能です。これを非ログインシェルと呼びます。

bashは非ログインシェルとして起動した場合、~/.bashrcがあれば起動のたびにこれを読み込んで実行します。

Linux教科書 LPIC レベル1 スピードマスター問題集 Version5.0対応

説明の追加

英語では、login shellとnon-login shellとなります。

設定ファイルについて

Macを使う限りにおいては、
.bash_profileに. ~/.bashrcと一行書き、
.bashrcに設定を書き連ねる、
という方針で良いと思います。

Macでは、
.bash_profileにecho ‘I am your .bash_profile.’と書き、
.bashrcにecho ‘I am your .bashrc.’と書いて、
ターミナルを起動すると、
I am your .bash_profile.だけが表示されます。
2つ以上のターミナルを起動していっても同様の結果となります。
tcshまたはbashを使っていて、bashとタイプしてEnterを押すと、’I am your .bashrc.’だけが表示されます。

Macで使いにくい設定になることがないようにと考えると、上記の方針が無難と思います。

余談 1

実際に1つの開発で、協力会社のある担当からcshスクリプトが送られてきて、違う担当からbashスクリプトが送られてきたことがあります。こういう状況のときは、tcshを使っていて、bashとタイプしてEnterを押す、とするのが最も早いです。ちなみに協力会社はとても有名な外資系の大企業です。実際にスクリプトを作成したのは、インド人や中国人だったのかもしれません。

シェルスクリプトはshで書け、みんな幸せ、が正解なのですが、そういうことを教えてくれる人や本に出会う機会は少なすぎるので、仕方がないと諦めるしかありません。

余談 2

端末から、計算能力の高い計算機にloginして作業して、作業が終わったらlogoutする、ということを経験しないと、login shellやnon-login shellが何の役に立つのかわからない気がします。

.bash_profile

~/.bash_profile

. ~/.bashrc

source ~/.bashrcでも良いですが、sourceはcsh/tcshのコマンドなので、伝統的には.です。
whichもcsh/tcshのコマンドなので、伝統的にはtypeです。

.bashrc

~/.bashrc

PATH=/usr/pkg/bin:$PATH
export PATH

# LANG=C
LANG=ja_JP.UTF-8
export LANG

# LC_ALL=C
LC_ALL=ja_JP.UTF-8
export LC_ALL

LESSCHARSET=utf-8
export LESSCHARSET

HISTSIZE=8192
export HISTSIZE
HISTFILESIZE=65536
export HISTFILESIZE

alias ls="\ls -F"
alias ll="\ls -FAlh"
alias la="\ls -FA"

参考

Linux教科書 LPIC レベル1 スピードマスター問題集 Version5.0対応

カテゴリーUNIX

コメントを残すために、Twitter OAuthを必要としています。ご了承ねがいます。
コメントは、Twitterに影響しません。

Twitter OAuth