私は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
シェルファミリーの使用に対するもう一つの主張と呼びたいと思います。)
答え2
シェル組み込みコマンドを破壊する別名を作成しないでください。あなたの人生ははるかに簡単になります。キーの組み合わせも多いです。cw
ウィンドウのタイトルエイリアスを変更してみてください。 :)
編集する:あなたに属していないエイリアスを修正する2段階のソリューション:
- ディレクトリ変更コマンド以外の別名を使用して猿を見つけ、
cd
地元の新聞の列に移動するように依頼します。彼はそのような考えを他の人に強制することができる職業ではありません! echo unalias cd >> ~/.bashrc
答え3
コマンドの前に「コマンド」という単語を追加します。前任者。
command ls