Use case statement instead of many if's

Jan-Philipp Litza
2016-06-14 18:15:33 +02:00
parent 3d80df43cd
commit fc8b29443c

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