Bash

執行檔在哪裡?

  • November 2, 2021

我有我執行的這個命令。讓我們稱之為foo。我可以在foo不指定完整路徑的情況下執行,foo如下所示:

$ foo
missing args

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

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

是什麼賦予了?

您可以使用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"?那該用什麼?有關該主題的更詳細的文章。

引用自:https://unix.stackexchange.com/questions/675889