可執行檔在哪裡?

可執行檔在哪裡?

我運行了這個命令。我們就這樣稱呼它吧foo。我可以foo在不指定完整路徑的情況下執行,foo如下所示:

$ foo
missing args

我懷疑foo是 bash 腳本,所以我想查看 中的原始程式碼foo,但是當我這樣做時,which foo我收到標準錯誤訊息:

which: no foo in (/usr/local/bin ...removed for brevity ...)

是什麼賦予了?

答案1

您可以使用type內置,它指示如果用作命令名稱,例如作為函數、內建、二進位(在 下$PATH),參數將如何解釋

$ f() { echo foo; }
$ type f
f is a function
f ()
{
    echo foo
}
$ type type
type is a shell builtin
$ type grep
grep is /usr/bin/grep
$ alias z='echo zee zee'
$ type z
z is aliased to `echo zee zee'

也可以看看為什麼不使用"which"?那該用什麼呢?有關該主題的更詳細的文章。

相關內容