alias - コマンドの別名定義
| Table of Contents |
alias コマンドでコマンドの別名を定義することができます。 長いコマンドを省略して実行するのに利用したりします。 解除するには unalias コマンドを使用します。
csh, tcsh 系
% alias ls "ls -F"
のようにします。このようにすることで、 ls を実行しただけで、ls -F が実行されることになります。
% alias
と実行すると、現在の設定をみることができます。~/.cshrc である程度設定されているはずです。
alias smail 'emacs -e mh-smail &' alias rmail 'emacs -e mh-rmail &' alias emacs 'emacs \!* &' alias ls 'ls -F'
のように .cshrc に書いておくと便利かもしれません。 追記した場合は、
% source ~/.cshrc
と実行して有効化します。
smail と実行するだけで、メールを送れるようになり、 さらに rmail と実行するだけで、メールを読むことができるようになります。 また、emacs を実行する際にも & をつける手間が省けます。 \!* を指定すると、引数がそこに代入されることになります。
% emacs test.txt
として実行すると
% emacs test.txt &
と実行したことと同等になります。
コマンド名とエイリアスを同名にしてしまうと、そのコマンドは、 そのエイリアスと入れ替わってしますので、注意が必要です。 さきほどの emacs もそうですが、例えば
% alias kterm 'kterm -sb \!* &' % alias sterm 'kterm -km sjis'
と定義すると sterm = kterm -sb -km sjis & ということになります。
通常の kterm を実行できなくなってしまうわけなので、 そのような場合は、
% \kterm
のように、一時的にエイリアスアウトするか、
% unalias kterm
のように unalias コマンドでエイリアスを解除してから、
% kterm
と実行する必要があります。 エイリアスアウトは、
% alias rm 'rm -i'
のようにしているときによく利用したりします。( -i は確認オプション )
% alias sterm '\kterm -km sjis'
のようにしておくこともできます。
sh, bash 系
sh, bash 系の場合は、
% alias ls="ls -F"
のように = が必要になります。
csh, tcsh の \!* の代わりは
% function emacs() { command emacs $@ & }
のようになると思います。
% alias emacs='emacs $@ &'
ではうまくいきませんでした。
エイリアスアウトは csh, tcsh と同様にできるはずです。
% \emacs
のように。 function アウトは・・・できないと思います。 なのでこの辺は tcsh のほうが上だと思います。


