java - 无法在 'java -version' 输出上进行 grep

标签 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/

相关文章:

Java Eclipse 服务器 jvm.dll 问题

java - PBKDF2WithHmacSHA512 SecretKeyFactory 不可用

java - 如何将hashmap中的数据从json获取到适配器中?

java - 如何授予Intellij-Idea写入文件的权限?

java - Java中哪种方法适合这种场景?

Java 2D 数组复制

java - 如何在 Google Code Jam 中使用 .in 文件作为 eclipse 的输入?

java - 如何编译和运行 Java 类(Hello World 示例)

java - BufferedImage 始终从 ByteArrayInputStream 传入 null

java - 如何设置 EmbeddedSolrServer 实例?