ブローカーIDが既に使用されているかどうかを確認したいが、スクリプト内でこれを実行したい。bashスクリプトでkafkaブローカーID(zookeeper-shell.shの結果)を変数に保存
./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")
そしてエコーの$ 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]。これはあなたが変数として望むものですか? –
はい、そうでない場合、変数は "ノードが存在しない:/ broker/ids"に設定されています。これは私の例で返されます – Sunny