コマンドを自分で定義する方法 (bash)
ここでは,ユーザ定義型のalias,functionを書く方法とその設定を紹介する.
作業する場所が決まっていて,terminalでディレクトリを変更するとき, 毎回
cd ./hoge/foo/here
とするのは面倒である. そこで,作業するディレクトリのショートカット(alias)を作成する.
vim ~/.bashrc
で,.bashrcファイルを開き,以下の例に従うと,alias,functionが作成できる.
example 1 (alias)
この例は,pythonのドキュメントがあるディレクトリまでいく aliasである.(これを .bashrc ファイルに追加する)
alias pybook='cd ~/foo/bar/python/book'
example2 (alias)
次に,メモリを解放するaliasを作成. 同様に,bashrcに以下を追加する.
alias killmemo='du -sx / &> /dev/null & sleep 15 && kill $!'
このsleep 15でメモリの削除量が変る.
example3 (function)
引数を取るようなaliasを作りたいとき, aliasでは作れないため,functionを定義する. ここでの例は,texのコンパイル,pdfを表示するコマンドを まとめ,1つのコマンドでできるようにする. 同様に,bashrcに以下を追加する.
function easytex(){ platex ./$1.tex dvipdfm ./$1.dvi open ./$1.pdf }
platex
,dvipdfm
はtexのコマンドである.また,$1
はコマンドでの第一引数となる.
したがって,$easytex test
とするとtest.texをコンパイルし,test.pdfを開く.
ここでの第一引数はtext
である.
定義したコマンドを有効にする.
これで,ユーザ定義型コマンドを定義したものの,
terminalに反映するには,毎回 source ~/.bashrc
を打たなければならない.
それはとても面倒なので ,.bash_profile
ファイルを編集し,loginしたら
定義したコマンドが有効になるようにする.
vim ~/.bash_profile
で,bash_profile
ファイルを開き,以下を追加する.
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi
これを追加する事で,定義したコマンドをいつでも使えるようになる.
参考文献: