Use case statement instead of many if's

Jan-Philipp Litza
2016-06-14 18:15:33 +02:00
parent 3d80df43cd
commit fc8b29443c
+10 -16
@@ -14,30 +14,24 @@ This hook script uses the nsupdate utility from the bind package to solve dns-01
set -e set -e
set -u set -u
set -o pipefail set -o pipefail
umask 077
NSUPDATE="nsupdate -k /path/to/Kdnsupdatekey.private" NSUPDATE="nsupdate -k /path/to/Kdnsupdatekey.private"
done="no"
if [[ "$1" = "deploy_challenge" ]]; then case "$1" in
"deploy_challenge")
printf "update add _acme-challenge.%s. 300 in TXT \"%s\"\n\n" "${2}" "${4}" | $NSUPDATE printf "update add _acme-challenge.%s. 300 in TXT \"%s\"\n\n" "${2}" "${4}" | $NSUPDATE
done="yes" ;;
fi "clean_challenge")
if [[ "$1" = "clean_challenge" ]]; then
printf "update delete _acme-challenge.%s. 300 in TXT \"%s\"\n\n" "${2}" "${4}" | $NSUPDATE printf "update delete _acme-challenge.%s. 300 in TXT \"%s\"\n\n" "${2}" "${4}" | $NSUPDATE
done="yes" ;;
fi "deploy_cert")
if [[ "${1}" = "deploy_cert" ]]; then
# do nothing for now # do nothing for now
done="yes" ;;
fi *)
if [[ ! "${done}" = "yes" ]]; then
echo Unkown hook "${1}" echo Unkown hook "${1}"
exit 1 exit 1
fi ;;
esac
exit 0 exit 0
``` ```