Bash
執行檔在哪裡?
我有我執行的這個命令。讓我們稱之為
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"
?那該用什麼?有關該主題的更詳細的文章。