shell

2011/07/22 Update

shell は UNUSH をつかいましょう!

ダウンロードはこちら

.bashrcを便利にする

そもそも、.bashrcってのは、コンソール(端末)を開いたときに一番最初に読み込まれるファイルです。

ということは、このファイルにあらかじめ書いておけば、いちいちexportとかaliasとかを打たなくて済むようになります。

また、独自のコマンドも作ることが出来ます。

さらに、自分でインストールしたライブラリにPATHを通す際にも大活躍します。

以下、よく使う例を記します。

.bashrcの変更は自己責任でお願いします。また、やばいとき(失敗したとき)に備えて、バックアップとっておくことをお薦めします。

1. export と PATH

------

例1 netCDFをインストールしたときの設定例

export NETCDF="/usr/local/netcdf"

export NCHOME="${NETCDF}"

export NETCDFHOME="${NETCDF}"

export PATH="${NETCDF}/bin:${PATH}"

export LD_LIBRARY_PATH="${NETCDF}/lib:${LD_LIBRARY_PATH}"

export MANTATH="${NETCDF}/man:${MANPATH}"

------

上から順にいきます。

export NETCDF="/usr/local/netcdf"

まず、exportってのは、そのあとに書いてあるものを読み込ませるコマンドです。

ここでは、NETCDFを"/usr/local/netcdf"のディレクトリとして認識させるという意味になります。

つまり、これ以降、NETCDFと言うと/usr/local/netcdfのディレクトリを指すことになります!(便利!)

export NCHOME="${NETCDF}"

ですが、これは、NCHOMEを${NETCDF}と同じにするということですが、NETCDFが${}に囲まれています。

これは、先ほど定義したNETCDFを変数として使用するときに使います。

つまり、$マークを先頭に付けた場合は、bashでは変数とみなします。

export PATH="${NETCDF}/bin:${PATH}"

これは結構重要です。

まず、PATHをexportすると、基本的に、指定したディレクトリにPATHが通ります。

つまり、Tabキーを押したときに出る候補に追加されます。

ここでは、netCDFの実行ファイル群が、/usr/local/netcdf/binの下に入っているので、

そこにPATHを通すことになります。

export LD_LIBRARY_PATH="${NETCDF}/lib:${LD_LIBRARY_PATH}"

これも結構重要です。

こちらは、たとえばGMTなどをインストールするときは、netCDFが必要になります。

このとき、ライブラリのPATHも通しておかないと、netCDFのライブラリを見つけられず、

うまくInstallできない、なんてことがあります。

ここでは、/usr/local/netcdf/libがライブラリを格納しているディレクトリなので、

そこにライブラリのPATHを通します。

export MANTATH="${NETCDF}/man:${MANPATH}"

最後は、ManualのPATHです。

$ man ncdumpと打ってマニュアルが出るようにするためには、このPATHが通っていなければなりません。

2. alias

aliasは、コマンド等の置き換え?みたいな役割をしてくれると同時に、自分でコマンドをカスタマイズできます。

たとえば、

alias ll = "ls -l"

とすれば、いつもは、

$ ls -l

としなければいけなかったのが、

$ ll

と打つことでls -lをしてくれるようになります。

ほかにも、

alias wrfrun='mpiexec -n 4 ./wrf.exe'

とすれば、毎回MPIようにコマンドを打たないといけなかったのが、

$ wrfrun

とするだけになって、かなり便利です!

かなり拡張性があるので、自分が使い易いようにいろいろとカスタマイズしてはいかがでしょうか。