运行多个zkCli命令

时间:2017-03-06 23:02:24

标签: bash apache-zookeeper

我想为zkCli一起运行两个命令。

zkCli addauth digest username:password && zkCli setAcl /zknode-path world:anyone:crdwa

我已经为zknode设置了ACL值,并希望将其还原。但运行此命令时,身份验证无效。如何在一个会话中运行这两个命令?

1 个答案:

答案 0 :(得分:0)

我设法使用 heredoc 格式在zkCli中运行多个命令 (见How does ` cat << EOF` work in bash?

将此代码段插入bash文件

TMPVAR="addauth digest username:password\nsetAcl /zknode-path world:anyone:crdwa"

/zookeeper-3.4.10/bin/zkCli.sh <<EOF
$(echo -e ${TMPVAR})
quit
EOF

首先,我们使用您希望在单个zkCli会话中执行的两个命令设置 TMPVAR ,并在它们之间使用\ n分隔符

然后我们逐行评估 TMPVAR 进入STDIN,这将使zkCli在命令后执行命令,然后最终执行 quit