#!/bin/bash

if [ -z "$1" ]; then
echo "Usage: yourbday.sh YYYY-MM-DD"
exit
fi


check="$1"
if [[ ! "$check" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then
echo "Usage: yourbday.sh YYYY-MM-DD"
exit
fi


if ! date --date="$check" +%s >/dev/null 2>&1; then
echo "invalid date"
exit
fi


sec=$(date --date="$check" +%s)
nowsec=$(date +%s)

if [ "$sec" -gt "$nowsec" ]; then
echo "You are not a real human.."
exit
fi


diffsec=$((nowsec - sec))
age=$(echo "scale=2; $diffsec / (365.25 * 86400)" | bc)

echo "You are $age years old"