Last active
November 20, 2019 13:03
-
-
Save b10s/26ef27107fc703422a5cb64570a9a0e8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# | |
# TODO | |
# This option will make the script exit when there is an error | |
set -o errexit | |
# This option will make the script exit when it tries to use an unset variable | |
set -o nounset | |
main () { | |
year=$1 | |
echo $year | |
let "even_4 = $year % 4" | |
echo 'foo' | |
let "even_100=$year%100" | |
let "even_400=$year%400" | |
echo 'foo' | |
if [ $even_4 -eq 0 ]; then | |
if [ $even_100 -eq 0]; then | |
if [ $even_400 -eq 0]; then | |
# even 100 and 400, so ok | |
echo "even 100 and 400" | |
return 0 | |
fi | |
# even 100 but not 400, not leap | |
echo "even 100 but 400" | |
return 1 | |
fi | |
# even 4, so ok | |
echo "even 4" | |
return 0 | |
fi | |
# not even 4, not leap | |
echo "not even 4" | |
return 1 | |
} | |
main "$@" | |
### exists on the following: | |
$ bash -x leap.sh 2004 | |
+ set -o errexit | |
+ set -o nounset | |
+ main 2004 | |
+ year=2004 | |
+ echo 2004 | |
2004 | |
+ let 'even_4 = 2004 % 4' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment