I have a shell script, which has a function, which call a perl script. Also it has a shell function call parse_ars as fogllow:
#!/bin/ksh
load_ici_dat() {
cd ${OUTPUT_DIR}
typeset batch_file=XRED${MM}${DD}
typeset SCRIPT="${PROG}.pl"
echo "time ${PERLEXE5X} ${PERL_HOME}/${SCRIPT} ${ORACLE_USER} ${PROCESS_DATE}"
time ${PERLEXE5X} ${PERL_HOME}/${SCRIPT} ${ORACLE_USER} ${PROCESS_DATE}
if [ $? -ne 0 ]
then
abnormal_termination "${STEP}" "${OUTPUT_DIR}" "Fail to run ${PERL_HOME}/${S
CRIPT}"
fi
}
################################################################################
###############################
# Main Program
################################################################################
###############################
PROG=`basename $0 | awk -F. '{print($1)}'`
parse_args $@
_PROCESS_DATE_PRESET_="${PROCESS_DATE}"
In pARSE_ARGS I HAVE:
echo "VARVAR $#"
if [ $# -gt 0 ]
then
export THREAD_ARG="$@"
while [ ! -z "$1" ]
do
case $1 in
-P* | -p* )
export PROCESS_DATE=$2
export MM=`echo $2 | cut -c5-6`
export DD=`echo $2 | cut -c7-8`
export YY=`echo $2 | cut -c3-4`
export YYYY=`echo $2 | cut -c1-4`
export PROCESS_DATE_US_MMDDYY="$MM/$DD/$YY"
shift
;;
-OUT* | -OUt* | -Out* | -out* | -oUT* | -ouT* | -oUt* )
if [ -d $2 ]
then
export OUTPUT_DIR=$2
fi
shift
;;
-IN* | -In* | -in* | -iN* )
if [ -d $2 ]
then
export INPUT_DIR=$2
fi
shift
;;
-LOG* | -LOg* | -Log* | -log* | -lOG* | -loG* | -lOg* )
if [ -d $2 ]
then
export LOG_HOME=$2
fi
shift
;;
-COO* | -COo* | -Coo* | -coo* | -cOO* | -coO* | -cOo* )
if [ -d $2 ]
then
export COOL_DIR=$2
fi
shift
;;
-CBD* | -CBd* | -Cbd* | -cbd* | -cBD* | -cbD* | -cBd* )
COOLBDAY=$2
shift
;;
-TES* | -TEs* | -Tes* | -tes* | -tES* | -teS* | -tEs* )
TEST="Y"
;;
-RELOAD* | -RESEND* | -reload* | -resend* | -Reload* | -Resend* )
RELOAD="Y"
esac
I understand, that parse_args, parsing arguments, which receive shell script, but it starts from crontab without any arguments
What arguments it is parsing?
Thanks for contribution