我试图在 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中,因为它无法识别。
有谁知道我错过了什么?
答案 0 :(得分:2)
Linux不是Windows。如果启动没有路径的可执行文件,系统只有在PATH
中指定的某个目录中找到它时才会启动它。
这意味着即使您要运行的可执行文件位于当前目录中,如果此目录不在PATH
中,也不会执行。如果您明确指定了可执行文件将被执行的目录,即使它不在PATH
中的目录。
参见一些小例子。
假设:/usr/java/jdk1.8.0_91/bin
未指定PATH
。
cd /tmp
java
如果/tmp
中没有PATH
,则会失败。
cd /tmp
./java
会失败,因为java
目录中(通常)没有/tmp
可执行文件。
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
中找到的./
时执行。