This is one of the reasons you shouldn't (IMO) get in the habit of using programs as arguments to if.

Code:
grep -q "###$MOVIEID.PREVIEW" $DLDBPATH.downloaded.db
if [ ! "$?" -o "$getUpdate" -eq "1" ]; then

Actually, "[" is a program. It's the same as "test".

If you are obsessed with having the program inside the if, this is the correct syntax:

Code:
if ! ( grep -q "###$MOVIEID.PREVIEW" $DLDBPATH.downloaded.db && [ "$getUpdate" -ne "1" ] ); then

Notice that I had to invert some boolean operators to get it to work.
_________________________
Bitt Faulk