我正在尝试在 Linux Suse 上安装 java (jre 1.8),
我从oracle网站下载了tar.gz文件并解压。
现在我的机器上有java,但我只能这样运行它:
./java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
单独运行该命令不起作用:
/usr/java/jdk1.8.0_91/bin # java -version
If 'java' is not a typo you can run the following command to lookup the package that contains the binary:
command-not-found java
-bash: java: command not found
很明显我无法添加到 PATH,因为它不会被识别。
有人知道我错过了什么吗?
Linux 不是 Windows。如果您在没有路径的情况下启动可执行文件,则仅当在 PATH
中指定的目录之一中找到该可执行文件时,系统才会启动它。
这意味着即使您要运行的可执行文件位于当前目录中,如果该目录不在 PATH
中,它也不会被执行。如果您明确指定目录,即使该目录不在 PATH
中,可执行文件也会被执行。
查看一些小示例。
假设以下内容:PATH
中未指定 /usr/java/jdk1.8.0_91/bin
。
cd /tmp
java
会失败,因为 /tmp
不在 PATH
中。
cd /tmp
./java
会失败,因为(通常)/tmp
目录中没有 java
可执行文件。
cd /usr/java/jdk1.8.0_91/bin
java
将会失败,因为 /usr/java/jdk1.8.0_91/bin
不在 PATH
中。
cd /usr/java/jdk1.8.0_91/bin
./java
将在您明确指定运行当前目录./
中找到的java
时执行。
我是一名优秀的程序员,十分优秀!