wiki/notebook/assets/challenges.exercism.bash/leap.sh

31 lines
614 B
Bash
Raw Normal View History

#/usr/bin/env bash
set -eo pipefail
function help() {
echo "Usage: leap.sh <year>"
}
trap 'help' ERR
if test $# -lt 1 || test $# -gt 1
then
help && exit 1
fi
year=$1
# This is a check whether the input is a year.
# The year is expected to be an integer and printf throws an error if the specifier does not match the input.
# Pretty odd way but it is clever, don't you think?
printf "%d" $year 1>/dev/null 2>/dev/null
if test $(expr $year % 4) -eq 0
then
if test $(expr $year % 100) -eq 0 && test $(expr $year % 400) -ne 0
then
echo "false"
exit 0
fi
echo "true"
else echo "false"
fi