tcshでエイリアスを一時的にバイパスするにはどうすればよいですか?


17

私はtcshを使用しています。bashとzshおよびその他の提案はここでは役に立ちません。

別のコマンドと同じ名前のエイリアスがいくつかあるので、エイリアスを解除すると、同じものを入力すると何か違うことが起こります。

ほとんどの場合、エイリアスコマンドが必要です。これが理由です。ただし、エイリアスのないコマンドが必要な場合があります。

実際にコマンドのエイリアスを解除して再定義することなく、代わりにエイリアスなしのコマンドを使用するようにtcshに指示する簡単な方法はありますか?

たとえば、viはvimのエイリアスですが、時々viを使用したい場合があります。cdはウィンドウタイトルを変更するためにエイリアスされていますが、時々そのままにしておきたい場合があります。

明らかに/ usr / bin / viと入力できますが、cdはシェル組み込みコマンドであるため、同等のコマンドはありません。一般的な解決策はありますか?

回答:


29

バックスラッシュを使用できます:

% 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、シェルのファミリーを使用することに対する別の議論を呼びたいと思います。)


「コマンド:コマンドが見つかりません」と表示され続けます。コマンドの場合、および\ cdの場合は「cd:コマンドが見つかりません」。「コマンド」はtcshビルトインですか?
piCookie

POSIXの奇妙さをため息 ... /usr/binここに偽物があります。しかし、マニュアルではバックスラッシュが機能することを確認しています...そしてそれが機能することが判明しましたが、組み込みをサポートしている間にエイリアスを防ぐために内部文字を引用する必要があります。あなたは後に何かをしようとしている場合BTW、 cd、を見てみましょうalias cwdcmdtcsh(1)。これにより、pushd/ popdなどに対処する必要も
なくなります

command通常、POSIXシェルの組み込みであり、の必要がありますcommand -[Vv]。バックスラッシュを使用してエイリアスをバイパスすることは、ビルトインではなく、通常のコマンドに対してのみ機能します(ビルトインはエイリアスよりも(t)cshで引用できないため)。
ジル 'SO-悪であるのをやめる'

私のシステムではコマンドは利用できないようですが(それをどうやってフォーマットするのでしょうか?)、内部のバックスラッシュは機能します。ありがとう!
piCookie

乾杯@geekosaur-この\動作については知りませんでした。エイリアスをより頻繁に使用し始めるので、非常に便利だと思います。:)
boehj

1

コマンドの前に「コマンド」という単語を付けます。例

command ls

1
質問が要求するように、これはtcshで機能しますか?組み込みコマンドで動作しますか?
dhag

0

組み込みシェルを壊すエイリアスを作成しないでください。あなたの人生はずっと楽になります。たくさんのキーの組み合わせが残っcwています。ウィンドウタイトルのエイリアスを変更してみてください:)

編集:あなたのものではないエイリアスを修正するための2ステップのソリューション:

  1. cdchange-directoryコマンド以外のエイリアスを作成したサルを見つけて、地元の論文のoped列への転送をリクエストします。彼は、そのようなアイデアを他の人の殻に押し込めるような仕事をするべきではありません!
  2. echo unalias cd >> ~/.bashrc

私が持っているエイリアスのいくつかは、私自身のものではありません。あなたのアドバイスに感謝し、可能な限りそれに注意を払うように最善を尽くします。今、そこにいることをしている私は、バイパスしたいエイリアスは、どのように私はいますか?
piCookie

承知しました。unalias cd
カレブ

明らかに、私は全くはっきりしていませんでした、カレブ、そして私は謝罪します。「cd」のケースを解決してみましょう。エイリアス解除せずに他のエイリアスに対してこれを行う方法を見つけようとしていました。すみません、私はそれを理解できませんでした。内部のバックスラッシュがまさに私が探していたもののようです。
piCookie

cdエイリアスは、タイトルを設定する可能性があるディレクトリを変更します。それはかなり前の日precmdとからの習慣PROMPT_COMMANDです。
ミケル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.