如果我尝试获取apache服务器版本,为什么grep不能正确过滤

时间:2016-01-29 13:15:31

标签: linux apache awk grep tr

我使用此命令获取apache服务器版本:

apachectl -V | grep -i "Server version" | tr "/" " " | awk '{ print $4 }'

但这不适用于每个系统。有时我会在服务器版本输出之前得到一些其他输出。

enter image description here

  

AH00558:apache2:无法可靠地完全确定服务器   合格域名,使用127.0.0.1。设置' ServerName'指示   全局抑制此消息

问题是为什么我得到这个输出,即使grep应该过滤它?我知道我可以抑制它,但即使我使用grep,为什么它甚至显示?

1 个答案:

答案 0 :(得分:2)

消息可能是标准错误,而不是标准输出。要隐藏它,将stderr重定向到无处:

apachectl -V 2>/dev/null | grep ...