#!/bin/bash if [ $# -ne 1 ]; then echo echo "Usage:" echo " $(basename $0) " echo echo "Example:" echo " $(basename $0) 2017-07-23" echo " $(basename $0) 2017/07/23" echo exit 1 fi DATE="${1:-"$(date +'%Y-%m-%d')"}" DATE_IS_NOT_VALID="0" CWD="$(dirname "$(readlink -f "$0")")" E_WRONGDATE=10 if echo $DATE | grep -qwEo '^^[0-9]{4}(-|/)[01][0-9](-|/)[0-9]{2}$$' ;then if ! date +'%Y-%m-%d' -d "$DATE" >/dev/null 2>&1 ; then DATE_IS_NOT_VALID=1 fi else DATE_IS_NOT_VALID=1 fi if [ $DATE_IS_NOT_VALID -eq 1 ]; then echo "Error: Invalid format for date" exit $E_WRONGDATE fi