/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进行判断不等于这个结果那么就输出异常 等于就输出正常
时间: 2023-06-07 17:07:04 浏览: 145
您的问题是关于如何在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
```
请注意替换您要比较的特定值。如果您遇到任何问题,请随时询问。
相关问题
3、安装和配置JDK rpm -qa|grep openjdk packages中jdk-8u211-linux-x64.tar.gz cd /opt/packages tar -zxvf jdk-8u211-linux-x64.tar.gz -C /opt/programs vi /etc/profile export JAVA_HOME=/opt/programs/jdk1.8.0_211 export PATH=$PATH:$JAVA_HOME/bin source /etc/profile java -version写注释
以下是对这段命令的注释:
rpm -qa|grep openjdk
packages中jdk-8u211-linux-x64.tar.gz
cd /opt/packages
tar -zxvf jdk-8u211-linux-x64.tar.gz -C /opt/programs
vi /etc/profile
export JAVA_HOME=/opt/programs/jdk1.8.0_211
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java -version
1. rpm -qa|grep openjdk:检查系统中是否已安装 OpenJDK,如果已经安装要先卸载。
2. packages中jdk-8u211-linux-x64.tar.gz:从本地或者其他地方获取 jdk-8u211-linux-x64.tar.gz 安装包。
3. cd /opt/packages:切换到 /opt/packages 目录,准备解压 jdk-8u211-linux-x64.tar.gz 安装包。
4. tar -zxvf jdk-8u211-linux-x64.tar.gz -C /opt/programs:解压 jdk-8u211-linux-x64.tar.gz 安装包到 /opt/programs 目录。
5. vi /etc/profile:编辑 /etc/profile 文件,将 JAVA_HOME 和 PATH 环境变量添加到文件末尾。
6. export JAVA_HOME=/opt/programs/jdk1.8.0_211:设置 JAVA_HOME 环境变量,指向 JDK 的安装路径。
7. export PATH=$PATH:$JAVA_HOME/bin:将 JDK 的 bin 目录添加到 PATH 环境变量中,以便系统可以找到 JDK 的可执行文件。
8. source /etc/profile:使配置的环境变量生效。
9. java -version:验证 JDK 是否安装成功,输出 Java 的版本信息。
这段命令的作用是安装和配置 JDK,并验证 JDK 是否安装成功。注意,在编辑 /etc/profile 文件时,要根据实际情况设置 JAVA_HOME 和 PATH 环境变量的值,以确保 JDK 安装和配置正确。
LinuxElasticsearch6.3.2 指定单独JDK后还是出现which: no java in (/opt/elasticsearch-6.3.2/jdk1.8.0_212/bin:/sbin:/bin:/usr/sbin:/usr/bin) could not find java; set JAVA_HOME or ensure java is in PATH [elasticsearch@master elasticsearch-6.3.2]$ ./bin/elasticsearch which: no java in (/opt/elasticsearch-6.3.2/jdk1.8.0_212/bin:/root/soft/hadoop-3.1.3/bin:/root/soft/hadoop-3.1.3/sbin:/root/soft/jdk1.8.0_212/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/soft/hadoop-3.1.3/bin:/root/soft/hadoop-3.1.3/sbin:/root/soft/spark-3.1.1-bin-hadoop3.2/bin:/root/soft/scala-2.12.0/bin:/root/bin) could not find java; set JAVA_HOME or ensure java is in PATH
很抱歉您遇到了这个问题。您可以尝试以下解决方案:
1. 确保您的JAVA_HOME环境变量已正确设置为您指定的JDK路径。您可以通过运行以下命令来检查:
```
echo $JAVA_HOME
```
如果输出为空或不正确,请设置JAVA_HOME环境变量。例如:
```
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
```
请确保路径与您实际安装的JDK版本相匹配。
2. 检查您的PATH环境变量是否包含了JDK的bin目录。您可以通过运行以下命令来检查:
```
echo $PATH
```
如果JDK的bin目录没有包含在PATH中,请将它添加到PATH中。例如:
```
export PATH=$JAVA_HOME/bin:$PATH
```
这将确保系统能够找到Java可执行文件。
3. 保存并关闭终端窗口,然后重新打开一个新的终端窗口。
4. 再次尝试运行Elasticsearch,看看问题是否解决。
如果问题仍然存在,请确保您的JDK安装正确并与Elasticsearch版本兼容。您还可以尝试重新下载并安装Elasticsearch,然后按照之前提供的步骤指定JDK。希望这些步骤能帮助您解决问题。
阅读全文