From 307187c9628daa6bd8b937a3536b17cca2484cdb Mon Sep 17 00:00:00 2001 From: Chris Sharp Date: Thu, 20 Feb 2014 13:30:31 -0500 Subject: [PATCH] adding further error checking to prevent mistakes --- batch_void_fines.sh | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/batch_void_fines.sh b/batch_void_fines.sh index 6852bb6..eb84c27 100755 --- a/batch_void_fines.sh +++ b/batch_void_fines.sh @@ -51,23 +51,41 @@ do case "$OPTIONS" in done if [ -n "$SYSTEM" ] && [ -n "$BRANCH" ]; then - Usage + echo "Please only specify either system OR branch. Not both." + Usage exit 1; fi if [ -z "$DATE" ]; then + echo "Date is required." Usage exit 1; fi +if [ ! $(echo $DATE | egrep '20[0-9][0-9]-[01][0-9]-[0-3][0-9](,20[0-9][0-9]-[01][0-9]-[0-3][0-9])?') ]; then + echo "Date must be in YYYY-MM-DD format. Please check." + Usage + exit 1; +fi + if [ $(echo $DATE | grep ",") ]; then SPLITDATE=`echo $DATE | sed "s/,/', '/g"` DATE=$SPLITDATE fi if [ -n "$SYSTEM" ]; then + if [ $(echo $SYSTEM | grep "-") ]; then + echo "System names do not have hyphens. Did you mean -b?" + Usage + exit 1; + fi BACKUP_TABLE="$BACKUP_SCHEMA.`echo $SYSTEM | tr '[:upper:]' '[:lower:]'`_batch_voided_fines_`echo $DATE | tr '-' '_' | sed "s/'//g" | sed "s/, /_/g"`" else + if [ ! $(echo $BRANCH | grep "-") ]; then + echo "Branch names have hyphens. Did you mean -s?" + Usage + exit 1; + fi BACKUP_TABLE="$BACKUP_SCHEMA.`echo $BRANCH | tr '[:upper:]' '[:lower:]' | tr '-' '_'`_batch_voided_fines_`echo $DATE | tr '-' '_' | sed "s/'//g" | sed "s/, /_/g"`" fi read -d '' SYSTEM_Q <