'which'コマンドを使用して、実際に呼び出されている実行可能ファイルを確認したいのですが、防御的な 'noglob'エイリアスが邪魔になり続けています。コマンドがエイリアスされたときに呼び出される実行可能ファイルを見つけるために使用できるショートカットはありますか?
これはシェルに依存しないはずだと思いますが、重要な場合はzshを使用しています。
which -a COMMAND
(またはwhere COMMAND
またはwhence -ca COMMAND
)を使用して、コマンドパス内のCOMMAND
のすべての出現箇所を見つけることができます。
例えば:
% alias ls='noglob ls'
% ls () /bin/ls
% which ls
ls: aliased to noglob ls
% which -a ls
ls: aliased to noglob ls
ls () {
/bin/ls
}
/bin/ls
何かが実行される前にコマンドラインでエイリアスが置き換えられるため、リストの2番目のコマンドが探しているコマンドです(もちろん、最初の行が何らかの形で同じ名前にエイリアスされていると仮定します)