Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
脚本中的OSX bash管道未按预期工作_Bash_Pipe_Piping_Macos High Sierra - Fatal编程技术网

脚本中的OSX bash管道未按预期工作

脚本中的OSX bash管道未按预期工作,bash,pipe,piping,macos-high-sierra,Bash,Pipe,Piping,Macos High Sierra,为了获得java版本,我在bash中运行了这个(我真正想要的是1.8或1.8.0_171) 在我的测试脚本中,仅获取第一行就可以了,因此我执行以下操作: java -version | grep java echo return is $? 其中返回以下内容: java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (bui

为了获得java版本,我在bash中运行了这个(我真正想要的是1.8或1.8.0_171)

在我的测试脚本中,仅获取第一行就可以了,因此我执行以下操作:

java -version | grep java 
echo return is $?
其中返回以下内容:

java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
return is 1
根据手册页,grep的返回表明它没有错误,但没有找到匹配项,即使这样,“java-version”的结果也会打印出来

我尝试过grep和一些不同的搜索模式,也尝试过sed和aux,使用Google寻求帮助,结果也一样


我做错了什么?

java-version
写入标准错误,而不是标准输出,因此
grep
没有接收任何输入

java -version 2>&1 | grep java

应该做你想做的事。

我一时想起来了,应该检查一下。谢谢
java -version 2>&1 | grep java