2017-04-10 111 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"