我有一个命令:
./keytool
但我总是必须去这个文件夹才能使用它:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-2.b17.el7_1.x86_64/jre/bin
我怎样才能在整个环境中使用以下命令,而不是每次都定义路径?
keytool
我该如何做呢?
答案1
一种方法是创建到当前 PATH 变量中任何文件夹的符号链接,在此示例中我们使用 /usr/bin/。
sudo ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-2.b17.el7_1.x86_64/jre/bin/keytool /usr/bin/keytool
答案2
在主目录中的.bashrc
(或)文件末尾添加以下行:.profile
export PATH=$PATH:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-2.b17.el7_1.x86_64/jre/bin
然而,这是一种非常脆弱的方法,因为一旦你更新了 Java 安装,它就不会像预期的那样工作。如果你想做得更正确,我建议以下几种方法:
查看/etc/alternatives
文件夹,看看是否有java
指向当前 java home 的链接(可能指向另一个链接)。如果存在,请使用以下代码更改导出行:
export PATH=$PATH:/etc/alternatives/java
或者(取决于您的系统),您可以在 中有一个链接/usr/lib/jvm
,例如/usr/lib/jvm/java
指向您安装的最新版本的 jvm。如果在那里,您可以使用这个,因此导出行是
export PATH=$PATH:/usr/lib/jvm/java
除此之外,如果您希望它是系统范围的(而不是将路径扩展限制为您的用户),您应该添加该行/etc/bashrc
(或者/etc/bash-bashrc
如果它在那里)。
最后要注意的是,这只适用于新创建的 shell,而不是你已经拥有的 shell,除非你发出命令
. ~/.bashrc
(如果不是,则是您修改过的文件.bashrc
)在这些 shell 中。