2017-03-06 153 views
1

我想爲zkCli一起運行兩個命令。運行多個zkCli命令

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

我已經爲zknode設置了ACL值,並且想要恢復它。但是運行這個命令給出,認證是無效的。如何在一個會話中運行這兩個命令?

回答

0

我設法使用定界符格式 (見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與您希望在單個zkCli會話中執行的兩個命令,它們之間有\ n分隔符

然後,我們評估TMPVAR成標準輸入一行行,這將使zkCli命令後,執行命令,然後最後執行退出