linux - 找到没有它的二进制文件的路径

标签 linux bash shell

我参与的一个开源项目依赖于我想删除的 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/

相关文章:

linux - 如何在MSSQL中找到导致死锁的进程

git - 让头停止等待输入

bash - 将包含单词的完整句子 grep 到文档中

bash - Git-Bash 运行命令的快捷方式

linux - egrep AND 多个模式的条件不起作用

linux - 将完整的 bash 脚本行传递给另一个 bash 函数以执行

linux - 为什么在 Linux 中将文件从目录 1 move 到目录 2 时出错?

bash - 如何在 Perl 脚本中重新加载 Bash 环境变量?

linux - 如何从变量读取链接路径?

bash - 留在 bash 脚本结束后更改的目录中