我参与的一个开源项目依赖于我想删除的 which
,因为某些 Linux 发行版(如 Fedora 20 的云版本)没有随附它默认情况下,我认为强制安装它是丑陋的,因为我们对它的使用是多么微不足道。
我们所做的就是找到 Java 二进制文件的路径,然后使用该信息来设置 $JAVA_HOME
。
有没有办法使用 Bash 内置函数来做到这一点?一般而言,我如何才能稍微优雅地找到一个二进制文件,同时最大限度地减少依赖性(如 which
)?或者仅使用 which
是否更好,例如,如果唯一的选择是针对 $PATH
和社区中的目录运行 find
认为那是极其不雅的?
请注意,对于与 which
相关的内容,Google 极其无效。
最佳答案
POSIX 正确的方法:
cmd=$(command -v whatever)
关于linux - 找到没有它的二进制文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23960511/