2017-04-10 62 views
0

java -version输出是这样的:grep的结果不是我想要的

> java -version 
java version "1.8.0_101" 
Java(TM) SE Runtime Environment (build 1.8.0_101-b13) 
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) 

然后我跑grep命令,但不能让我的预期的结果。

>java -version | grep "version" 
java version "1.8.0_101" 
Java(TM) SE Runtime Environment (build 1.8.0_101-b13) 
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) 

我预期的结果是仅仅只有一线

java version "1.8.0_101" 

为什么呢?

+0

因为错误流不经过'grep'。 '|'管道仅重定向标准输出流。 – CiaPan

回答

1

java -version将文本打印到标准err而不是标准输出。所以你应该这样做:

java -version 2>&1|grep "version"