如何将linux命令作为变量值导入shell脚本文件?

如何将linux命令作为变量值导入shell脚本文件?,shell,command,Shell,Command,我正在使用软呢帽10。如果我在终端中编写java-version,它会给出java版本。我想编写一个shell脚本文件来检查java版本是否大于1.5。 主要问题是我不知道如何将java-version命令的值分配给shell脚本的变量。 如何为此创建shell脚本文件?使用反勾号: JAVA_VERSION=`java-version` 如上所述,您可以使用反勾号,或者(如果您的键盘没有)使用以下格式: JAVA\u VERSION=$(命令)您应该将stderr指向stdout $ var

我正在使用软呢帽10。如果我在终端中编写
java-version
,它会给出java版本。我想编写一个shell脚本文件来检查java版本是否大于1.5。 主要问题是我不知道如何将
java-version
命令的值分配给
shell脚本的变量。
如何为此创建shell脚本文件?

使用反勾号:

JAVA_VERSION=`java-version`

如上所述,您可以使用反勾号,或者(如果您的键盘没有)使用以下格式:


JAVA\u VERSION=$(命令)
您应该将stderr指向stdout

$ var=$(java -version 2>&1)
$ set -- $var
$ echo $3
"1.6.0_0"
$ echo ${3//[._\"]/}
1600

现在,您可以比较$ver,看看它是否大于1500。

以上所有答案都适用于您。以下是可用于获取变量值的常见示例:

JAVA_VERSION=`java-version` or JAVA_VERSION="java-version" or JAVA_VERSION=$(command)
方法是设置变量的值为多。您可以使用最简单的方法来满足您的需求。就像我用的

var=$(awk -F'"' '/^variable=/ {print $2}' script1.sh )
echo $var

我可以确认您在JAVA_版本变量中得到了结果吗?