0

bash ビルトインtypeは、特定のコマンドが何を実行し、どのように定義されているかを把握するのに適していますが、コマンドが最終的にファイルに解決される場合に備えて、ファイル パスを直接抽出することはできません。たとえば、$PATHルックアップのみを実行するには、次を使用できますwhich

$ ls true
ls: cannot access true: No such file or directory
$ ls `which true`
/bin/true

エイリアスがあるとします:

alias notfalse=true

それから私はただ尋ねることができませんでしwhichたが、私は尋ねることができましたtype

$ type notfalse
notfalse is aliased to `true'

しかし、私が望むのは、調べてエイリアスを解決することです$PATH(いいえ、さまざまなフラグが機能しtypeていないようです)。

$ ls `somebuiltin notfalse`
/bin/true

ビルトインがあることは無視してtrueください (エイリアスで隠しています)。これは単なる例です。

4

3 に答える 3

0

次のことを試すことができます。

ls `alias | /usr/bin/which --read-alias notfalse | tail -1`

ところで、私whichはこれである私自身の別名を持っています:

alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
于 2013-09-12T12:31:54.850 に答える