【发布时间】:2017-12-08 15:27:00
【问题描述】:
我想检查代理 ID 是否已在使用中,但我想在脚本中执行此操作。
./bin/zookeeper-shell.sh localhost:2181 <<< "ls /brokers/ids"
给出我想要的结果,但我如何将它保存到变量中以备后用?我感兴趣的是“ls ..”的实际结果。整个输出包括一些饲料:
Connecting to localhost:2181
Welcome to ZooKeeper!
JLine support is disabled
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
Node does not exist: /brokers/ids
如果我将结果保存到一个变量中,我实际上只会得到这个素材,最后一行只会打印到屏幕上。
var=$(./opt/kafka/bin/zookeeper-shell.sh localhost:2181 <<< "ls /brokers/ids")
然后 echo $var 给出
Connecting to localhost:2181 Welcome to ZooKeeper! JLine support is disabled WATCHER:: WatchedEvent state:SyncConnected type:None path:null
如何将请求的实际结果获取到变量以供以后使用?
【问题讨论】:
-
嗯..如果我理解你想要的是在你给出的命令输出的最后一行打印的代理 ID 列表,对吗?据我所知,我的意思是这个命令返回一个包含所有代理 ID 的数组,例如: [0,1,2] 。这是你想要的变量吗?
-
是的,或者如果没有启动,则变量设置为“节点不存在:/brokers/ids”,这就是它在我的示例中返回的内容
标签: linux bash shell apache-kafka apache-zookeeper