An issue with condition statement in shell script

Hello forum members.

please go through the below mentioned issue and let me know the right solution.

I have to write a script which runs another script .the executable script take input parmeters.so iam writing the the script below .

Sample Code:Begins

#! /bin/ksh
echo " enter value of mon"
read $mon
if [ -f load.sh && $mon ]
then
echo "OK"
./load.sh $mon
else
echo "Failed"
fi

Code:Ends

please correct the code.file name is test.sh and exe script name is load.sh.

I ma looking forward from you.

Thanks & Regards
Rajkumar G
after compilation the below error test_script.sh: test: ] missing.

read mon
if [[ -f load.sh && -z $mon ]]

instead of:

read $mon
if [ -f load.sh && $mon ]

The first issue was we should not include the $ during read input
Second in the test you can't test a string.

Can you try the below... It should work for you

#! /bin/ksh
echo " enter value of mon"
read mon
if [ -f load.sh ]
then
        if [ "$mon" != "" ]
        then
                load.sh "$mon"
        else
                echo "Failed"
        fi
else
        echo "Failed"
fi