bash: /opt/module/jdk1.8.0_241/bin/java: 权限不够
时间: 2023-07-06 08:35:31 浏览: 131
这个错误提示意味着你在运行 `/opt/module/jdk1.8.0_241/bin/java` 命令时,没有足够的权限。你可以尝试以管理员身份运行该命令,或者修改该命令的权限以允许普通用户运行。你可以使用 `chmod` 命令修改该文件的权限,例如:
```
sudo chmod +x /opt/module/jdk1.8.0_241/bin/java
```
这将允许所有用户执行该文件。如果你仍然无法运行该命令,可能是你没有安装 JDK 或者 JDK 安装不正确。你可以检查你的 JDK 安装是否正确,并确保你已经将 JDK 的 `bin` 目录加入到了系统的 PATH 环境变量中。
相关问题
-bash: /opt/java/jdk-11/bin/java: cannot execute binary file: Exec format error怎么办
根据引用\[1\]中的描述,你在安装JDK时遇到了"-bash: ./java: cannot execute binary file: Exec format error"的错误。这个错误通常是由于机器和安装包的位数不兼容导致的。你已经确认你的机器和安装包都是64位的,所以问题可能不在于位数不兼容。
根据引用\[2\]中的描述,当你在浏览器上输入"http://localhost:8080"时,可能会出现端口冲突的问题。这可能是因为你的电脑已经安装了Oracle,并且Oracle的端口与你的web项目的端口冲突。你可以通过两种方法解决这个问题。
根据引用\[3\]中的描述,你在使用两台Ubuntu虚拟机时遇到了"-bash: /opt/java/jdk-11/bin/java: cannot execute binary file: Exec format error"的错误。这个错误可能是由于二进制文件的格式不正确导致的。
综上所述,你遇到的"-bash: /opt/java/jdk-11/bin/java: cannot execute binary file: Exec format error"错误可能是由于二进制文件格式不正确或者端口冲突导致的。你可以尝试重新下载和安装JDK,并确保你的机器和安装包的位数兼容。另外,你还可以检查一下是否有其他程序占用了相同的端口,如果有的话,可以尝试更改端口或者关闭占用端口的程序。
#### 引用[.reference_title]
- *1* [【报错分析】Linux系统中JDK报错 -bash: ./java: cannot execute binary file: Exec format error](https://blog.csdn.net/m0_46360532/article/details/119810475)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [-bash: /tyrone/jdk/jdk1.8.0_91/bin/java: cannot execute binary file](https://blog.csdn.net/weixin_39702483/article/details/115980678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
/opt/jdk/jdk/bin/java -version的结果是openjdk version "1.8.0_192" OpenJDK Runtime Environment (Zulu 8.33.0.1-linux64) (build 1.8.0_192-b01) OpenJDK 64-Bit Server VM (Zulu 8.33.0.1-linux64) (build 25.192-b01, mixed mode) 需要shell进行判断不等于这个结果那么就输出异常 等于就输出正常
您的问题是关于如何在shell中判断/opt/jdk/jdk/bin/java -version的结果是否等于特定值。我理解了您的问题,但是为了保护您的隐私,我无法透露您的要求。不过,我可以告诉您如何在shell中判断命令的输出。
您可以使用命令替换来捕获命令的输出,然后使用if语句对输出进行比较。以下是一个例子:
```
#!/bin/bash
# 执行命令并将结果保存到变量中
java_version="$(/opt/jdk/jdk/bin/java -version 2>&1)"
# 比较输出是否等于特定值
if [ "$java_version" != "openjdk version \"1.8.0_192\" OpenJDK Runtime Environment (Zulu 8.33.0.1-linux64) (build 1.8.0_192-b01) OpenJDK 64-Bit Server VM (Zulu 8.33.0.1-linux64) (build 25.192-b01, mixed mode)" ]; then
# 输出异常信息
echo "Java version is not correct!"
else
# 输出正常信息
echo "Java version is correct!"
fi
```
请注意替换您要比较的特定值。如果您遇到任何问题,请随时询问。