簡體   English   中英

找到沒有哪個二進制文件的路徑

[英]Find path to binary without which

一個開源項目,我貢獻,對依賴which ,我想刪除,一些Linux發行版(如Fedora 20的雲版本),默認情況下不與它船,我相信它的丑陋,迫使其安裝,考慮到我們對它的使用是多么微不足道。

我們所做的就是找到 Java 二進制文件的路徑,然后使用該信息設置$JAVA_HOME

有沒有辦法用 Bash 內置插件來做到這一點? 一般來說,我怎樣才能優雅地找到一個二進制文件,同時最小化依賴關系(比如which )? 或者,僅使用which是否更好,例如,如果唯一的選擇是針對$PATH中的目錄運行find並且社區認為這非常不雅?

請注意,對於與which相關的事情,它對 Google 極其無效。

POSIX-ly 正確方法:

cmd=$(command -v whatever)

也許通過解析 shell 內置type的輸出?

~/ type python
python is /usr/bin/python
~/ type type
type is a shell builtin

zshbashsh測試

如果您使用的是bash ,則-P選項會直接為您提供所需的結果:

~/ type -P python
/usr/bin/python

我的偏好已經提到了“類型”。 但是這個任務還有一個額外的命令:

 whereis -b <file>

定位指定文件的二進制文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM