#/usr/bin/env bash set -eo pipefail function help() { echo "Usage: leap.sh " } 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