if [ $# -ne 1 ]; then
echo 'USAGE: script_name <effective_frm_date>'
echo effective_frm_date format - DD/MON/YYYY'
exit 1
fi;
But I have no idea how to test the actual format of teh parameter. Has anyone any ideas?
Thanks
Validating input parameters in Unix Shell Scripts
Hi guys
I have a Unix Shell script that is a wrapper to a stored procedure on an Oracle database. The script is invoked by Maestro and is passed a parameter. The parameter is a date in the format DD/MON/YYYY (uk format), and I was wondering how I should validate the format within the script.
I know how to test for a single argument being passed in:
Gary.Goodbye, and thanks for all the fish.
Look into sed and awk. Both are tools for pattern matching. It's a good idea to learn to use them anyway in case you need to write more non-trivial shell scripts in the future.
I've discovered awk...very handy.
A quick question though...if I have the following in a shell script:
Will the exit(s) within the awk commands exit from the script OR simply from the awk command?
EDIT: Okay have realised that I need to check the $? value after the awk commands.
[Edited by - garyfletcher on January 19, 2006 10:11:26 AM]
A quick question though...if I have the following in a shell script:
echo $DATE $LOGFILE | awk '{ if ((substr($1,3,1) != "/") || (substr($1,6,1) != "/")) { print "USAGE: brs1_valid_data.ksh <efftve_from_date>" > $2 print " efftve_from_date format - DD/MM/YYYY" >> $2 print " Invalid Date Format" >> $2 exit 1; } }'DAY=`echo $DATE | awk '{FS="/"} {print $1}'`MONTH=`echo $DATE | awk '{FS="/"} {print $2}'`YEAR=`echo $DATE | awk '{FS="/"} {print $3}'`echo $DAY $MONTH $YEAR $TODAY_DAY $TODAY_MONTH $TODAY_YEAR $LOGFILE | awk '{ if(($3 > $6) || (($3 == $6) && ($2 > $5)) || (($3 == $6) && ($2 == $5) && ($1 > $4))) { print "USAGE: brs1_valid_data.ksh <efftve_from_date>" > $7 print " efftve_from_date format - DD/MM/YYYY" >> $7 print " Date cannot be in future" >> $7 exit 1; } }'
Will the exit(s) within the awk commands exit from the script OR simply from the awk command?
EDIT: Okay have realised that I need to check the $? value after the awk commands.
[Edited by - garyfletcher on January 19, 2006 10:11:26 AM]
Gary.Goodbye, and thanks for all the fish.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement