为了获得java版本,我在bash中运行了这个(我真正想要的是1.8或1.8.0_171)
$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
在我的测试脚本中,只要得到第一行就可以了,所以我执行以下操作:
java -version | grep java
echo return is $?
返回这个:
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
return is 1
根据手册页,grep的返回表明它没有错误,但没有找到匹配项,即使如此,“java-version”的结果也会打印出来。
我用几种不同的搜索模式尝试过grep,也用谷歌的帮助尝试过sed和aux,结果也一样。
我做错了什么?