alias - コマンドの別名定義


Table of Contents

alias コマンドコマンドの別名を定義することができます。 長いコマンドを省略して実行するのに利用したりします。 解除するには unalias コマンドを使用します。

csh, tcsh Edit

% 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 Edit

sh, bash 系の場合は、

% alias ls="ls -F"

のように = が必要になります。

csh, tcsh の \!* の代わりは

% function emacs() { command emacs $@ & }

のようになると思います。

% alias emacs='emacs $@ &'

ではうまくいきませんでした。

エイリアスアウトcsh, tcsh と同様にできるはずです。

% \emacs

のように。 function アウトは・・・できないと思います。 なのでこの辺は tcsh のほうが上だと思います。


xrea