不能grep'java -version'输出

gil*_*drv 6 java

我正在尝试grep命令的输出:

java -version
java -XshowSettings
Run Code Online (Sandbox Code Playgroud)

但似乎他们拒绝重定向或管道.

我试过了

java -version | grep whatever
java -version > jout.txt
Run Code Online (Sandbox Code Playgroud)

但两者都只是将输出打印到屏幕上.

到底是怎么回事?

谢谢,吉拉德.

chi*_*ity 19

您可以在管道之前重定向到stdout.这些消息默认发送到stderr,而不是stdout; 这意味着grep不会看到消息,它们只会被打印到控制台.

如果这是Linux,请尝试

java -version 2>&1 | grep whatever
Run Code Online (Sandbox Code Playgroud)

它应该工作.这将从java执行中将所有输出带到stderr ,并重定向它以便它与stdout到达相同的位置; grep然后你的调用就能看到它.