2017-03-06 4 views
1

Ich möchte zwei Befehle zusammen für zkCli ausführen.run mehrere zkCli Befehle

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

Ich habe bereits den ACL-Wert für einen zknode festgelegt und möchte ihn zurückgeben. Wenn Sie diesen Befehl ausführen, ist die Authentifizierung nicht gültig. Wie führe ich diese beiden Befehle in einer Sitzung aus?

Antwort

0

konnte ich mit mehreren Befehlen in zkCli mit heredoc Format (siehe How does ` cat << EOF` work in bash?)

Einfügen dieses Schnipsel in eine bash-Datei

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

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

Zuerst setzen wir TMPVAR laufen beide Befehle, die Sie in einer einzelnen zkCli-Sitzung ausführen wollten, mit einem Trennzeichen zwischen ihnen

Dann bewerten wir TMPVAR in STDIN Zeile für Zeile, und dies wird zkCli Befehl nach Befehl make ausführen, und dann schließlich ausführen beenden