为什么管道内容命令nc不起作用?

时间:2014-02-18 07:11:21

标签: pipeline apache-zookeeper netcat

我尝试使用nc

从shell获取zookeeper stat

首先致电nc localhost 2181,然后输入: stat 有效。

echo "stat" | nc localhost 2181什么都不返回。

为什么?

2 个答案:

答案 0 :(得分:4)

在Zookeeper邮件列表中问了同样的问题,得到了这个:

  

很可能你使用了错误的“nc”命令。

     

不开玩笑:P有两个不同的“nc”包和语法   那时候是不同的。在类似debian的发行版中,它们是   netcat-openbsd和netcat-traditional,但我遇到了同样的问题   在CentOS中使用netcat的问题(我记不起它的名字了   包裹,抱歉)直到我意识到我错了。

     

- Tomas Nunez

我发现我的服务器上的nc是nc.openbsd,安装后nc.traditional,

echo "stat" | nc.traditional 10.18.10.30 2181

返回预期结果。

答案 1 :(得分:4)

我发现在-q命令中使用nc参数添加等待会产生预期的输出。

echo "ruok" | nc -q 2 localhost 2181在Ubuntu系统上为我工作。您可能需要在OpenBSD系统上使用-w而不是-q