私はtcshを使用しています。 bash、zsh、その他の提案はここでは役に立ちません。
異なるコマンドと同じ名前のエイリアスが複数あるため、エイリアスを解放すると、同じ内容を入力しても別の操作が実行されます。
ほとんどの場合、エイリアスコマンドが必要なので、このコマンドを使用します。しかし、時にはエイリアシングされていないコマンドが必要な場合もあります。
実際には、コマンドのエイリアシングを解除してオーバーライドせずにtcshにエイリアシングされていないコマンドを使用するように指示する簡単な方法はありますか?
たとえば、viはvimのエイリアスですが、時にはviだけを使用したい場合があります。 cdはウィンドウのタイトルを変更するエイリアスですが、時々そのままにしたい場合があります。
明らかに/usr/bin/viと入力できますが、cdはシェル組み込みなので同等のものはありません。普遍的な解決策はありますか?
ベストアンサー1
バックスラッシュを使用できます。
% alias ls ls -a
% ls
# ls -a output here
% \ls
# plain ls output here
シェル組み込みを使用すると問題があります。前のバックスラッシュはエイリアスと組み込みの使用を防ぎますが、内部バックスラッシュはエイリアスのみを抑制します。
% alias cd pushd
% cd /tmp
/tmp /tmp
% c\d
% dirs
~ /tmp
(私はこれをcsh
シェルファミリーの使用に対するもう一つの主張と呼びたいと思います。)