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

时间:2009-11-23 11:28:18

标签: shell command

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

4 个答案:

答案 0 :(得分:4)

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

JAVA_VERSION=$(command)

答案 1 :(得分:3)

使用反引号:

JAVA_VERSION=`java-version`

答案 2 :(得分:1)

你应该将stderr重定向到stdout

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

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

答案 3 :(得分:0)

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

JAVA_VERSION=`java-version` or JAVA_VERSION="java-version" or JAVA_VERSION=$(command)

方法是设置变量的值很多。您可以使用最简单的方式来满足您的要求。就像我使用

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