<分区>
我正在尝试对命令的输出进行 grep:
java -version
java -XshowSettings
但他们似乎拒绝被重定向或管道传输。
我试过了
java -version | grep whatever
java -version > jout.txt
但两者都只是将输出打印到屏幕上。
这是怎么回事?
谢谢, 吉拉德。
标签 java
<分区>
我正在尝试对命令的输出进行 grep:
java -version
java -XshowSettings
但他们似乎拒绝被重定向或管道传输。
我试过了
java -version | grep whatever
java -version > jout.txt
但两者都只是将输出打印到屏幕上。
这是怎么回事?
谢谢, 吉拉德。
最佳答案
您需要先重定向到标准输出,然后才能像那样进行管道传输。这些消息默认发送到 stderr,而不是 stdout;这意味着 grep
不会看到消息,它们只会打印到控制台。
如果是 Linux,试试
java -version 2>&1 | grep whatever
它应该可以工作。这将从 java
执行中获取所有输出到 stderr,并将其重定向到与 stdout 相同的位置;您的 grep
调用将能够看到它。
关于java - 无法在 'java -version' 输出上进行 grep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26954934/