处理重复的程序名称bash
我想知道是否$PATH 级联条目。在这里,你们所有人都需要与我一起迈出信心的飞跃,但事情确实如此。 假设我们有一个Java可执行文件,/usr/bin/java但此版本非常旧且过时。不幸的是,我们没有su访问权限,所以我们不能仅仅替换它。但是,我们可以在本地下载JRE / JDK的当前版本,并指向更新的版本。我的问题是,当我们有两个或多个具有相同名称但在两个或多个不同位置的可执行文件时,bash如何处理?当我们输入java控制台时,bash是否会以某种方式选择执行哪一个?假设我们/usr/bin还有许多其他可执行文件,那么$PATH看起来像这样的东西如何正常工作? 理想情况下,键入时java -version应该看到: java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) 代替 java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) Client VM(build 24.45-b08, mixed mode, sharing) 我确定这个问题已经被问过了,并且与它相关联。我在SE,SO和一些论坛上闲逛,但没有发现任何结论。