給定一個$ PATH,如:
/Users/myname/bin:
/usr/local/Cellar:
/usr/local/Cellar/ruby/1.9.3-p362/bin:
... and so forth
我真的需要紅寶石位置,或者是/ usr /本地/酒窖足以找到紅寶石?
給定一個$ PATH,如:
/Users/myname/bin:
/usr/local/Cellar:
/usr/local/Cellar/ruby/1.9.3-p362/bin:
... and so forth
我真的需要紅寶石位置,或者是/ usr /本地/酒窖足以找到紅寶石?
這些條目是相互獨立的,只計算直接內容。嘗試一下。
> mkdir ~/bin
> mkdir ~/bin/test
> cp /bin/echo ~/bin/test/echotest
> export PATH=$PATH:~/bin
> echotest Hello, world
-bash: echotest: command not found
> rm -rf ~/bin/test
,當鍵入一個普通的命令的名稱和它不是一個功能或別名,則殼邏輯取的名稱和嘗試每個目錄在PATH反過來。在僞代碼:
name=command_to_execute
for path in ${names in PATH}
exec $path/$name "${arguments[@]}"
report "failed to find command $name"
如果exec
成功,沒有什麼更多的事情要做。如果exec
失敗,它會嘗試下一個目錄。
請注意,路徑搜索從不適用於包含斜槓的名稱。並且shell僅精確地搜索PATH中列出的目錄(但空條目被解釋爲對當前目錄.
的引用)。它不會以自己的意志看待子目錄;你將不得不在PATH中列出子目錄。
是的,你的shell不會在這些文件夾中遞歸搜索二進制文件 – Blender