bashに次のエイリアスがあるとしますalias ls='ls --color=auto'
--そして、ls
オプションなしで普通に呼び出したいと思います。それを行う唯一の方法は、エイリアスを解除し、コマンドを実行してから再びエイリアスにすることですか?または、気の利いたトリックや回避策がありますか?
bashに次のエイリアスがあるとしますalias ls='ls --color=auto'
--そして、ls
オプションなしで普通に呼び出したいと思います。それを行う唯一の方法は、エイリアスを解除し、コマンドを実行してから再びエイリアスにすることですか?または、気の利いたトリックや回避策がありますか?
回答:
バックスラッシュの前にエイリアスを無効にすることもできます: \ls
編集:同じことを行う他の方法は次のとおりです。
Mikelにcommand ls
よる「コマンド」を使用します。
完全なパスを使用してください:/bin/ls
につきとしてuther。
コマンドを引用します:"ls"
または'ls'
Mikelコメントに従って。
を使用して、そのターミナルセッションのエイリアスを一時的に削除できunalias command_name
ます。
command
or とは異なりbuiltin
ます。
l\s
同じことをするようです。この動作はバグですか、それとも機能ですか?
それがcommand
コマンドの目的です。
試して
command ls
これは、エイリアスと関数をバイパスするようシェルに指示します。
エイリアスは、定義済みのショートカットです。この例では、定義されるエイリアスはstringでls
、これが実行されls --color=auto
ます。その動作が望ましくない場合はls
、絶対パスを使用してバイナリを呼び出すことができます。
その/bin/ls
ため、定義したエイリアスではないため、実行すると色のない出力が生成されます。
エイリアスを別のエイリアスに変更したりls
、カラーパラメータなしで実行される新しいエイリアスを追加したりすることもできます。
/bin
との間の分割/usr/bin
は任意です。
which
コマンドに使用できますwhich ls
。
which
またはtype
)を使用する場合、$PATH
;を介して検索を行います。あなたにもちょうど使用することがありますls
か\ls
ではなく、パスを指定します。
@utherの答えに基づいた別の方法は、実行可能ファイルのパスを自動的に見つけるために、$(which ...)
または`which ...`
(backticksを使用して``
)を使用することです。これはで動作しbash
ます:
$(which ls)
`which ls`
間違いなく、単にコマンドの前にaを付けるだけ\
ではるかに短くなります。
更新:エイリアスコマンドで「which」を使用する方法によると?、これはまったく信頼できないようです。
`which ls`
バイナリを直接実行するつもりだと思います。
(which ls)
私にとってはうまくいきませんでした(Ubuntu 12.04 LTS)。また、逆戻りが難しいため、エスケープしました:\ `which ls \`。そこに着くには多くの編集が必要でした:)
$
か?
個人的には、コマンドと同じ名前のエイリアスを定義することは避けているため、ls
常に実際のコマンドを呼び出します。私のようなオプションのさまざまな組み合わせのためのエイリアスや機能を持っているl
、ll
とlg
。(つまりunalias ls
、.bashrc
またはで必要.cshrc
です。)
私が好むオプションに関するOSの仮定(ls
コマンド自体の設計者の仮定を無効にする)は、私自身の個人的な好みとほとんど一致しないことがわかります。私はたまたまの外観が嫌いでls --color=auto
、その読みやすさは白地に黒と黒地に白の間で大きく異なります。
YMMV、およびその他のソリューションはもちろん、知っておくと良いでしょう。
コマンドを大文字で入力するとうまくいくようLS
です。
LS - display animations aimed to correct users who accidentally enter LS instead of ls.