Hi,
I'm a newbie to UNIX scripting and I'm having some trouble compiling my script. I'm using the Bourne Shell and cannot seem to use the substr function correctly. I'm trying to extract the last two digits of a year that's stored in a variable based off of a condition. I've searched the forums and google trying suggestions/formatting, but I keep getting a syntax error that I can't seem to fix. Does anyone see any syntax issues with my substr code (FISCAL_CODE) below?
#!/usr/bin/sh
CURRENT_DATE=`date +%m%d%Y`
CURRENT_YEAR=`date +%Y`
START_YEAR=`expr $CURRENT_YEAR - 1`
#Concatenate the static fiscal year's start/end
#month and day with the formatted years.
START_FY='0701'$START_YEAR
END_FY='0630'$CURRENT_YEAR
#Define the actual fiscal year depending on where
#the current date falls within the fiscal year range.
if [ $CURRENT_DATE -gt $START_FY ]
then
if [ $CURRENT_DATE -lt $END_FY ]
then
FISCAL_YEAR=$CURRENT_YEAR
else
FISCAL_YEAR=`expr $CURRENT_YEAR + 1`
fi
fi
#Define the fiscal code by substringing the last two
#digits of the acutal fiscal year.
FISCAL_CODE=substr($FISCAL_YEAR 3 2)
#FISCAL_CODE=`expr substr $FISCAL_YEAR 3 2`
echo Today is $CURRENT_DATE
echo Current Year is $CURRENT_YEAR
echo Start FY $START_FY
echo End FY $END_FY
echo Fiscal Year is $FISCAL_YEAR
echo Fiscal Code is $FISCAL_CODE
-------------------------------------------------------------------
This is the output I'm viewing:
expr: syntax error
<or> syntax error at line 26: `FISCAL_CODE=substr' unexpected
Today is 09272005
Current Year is 2005
Start FY 07012004
End FY 06302005
Fiscal Year is 2006
Fiscal Code is
If there's anything else I can answer or provide, please let me know. Any assistance would be greatly appreciated.
Thanks,
Eric