Thank you very much, choroba. Your advice was somewhat cryptic to this idiot, but still helpful.

I think I've nailed it.
I found that Tomato doesn't like
for i in {1..4}. I guess it doesn't have the latest version of Bash. Whatever. This does work:
Code:
for i in 1 2 3 4
do
eval SRC=\$SRC$i
eval SRCU=\$SRCU$i
if [ "$SRC" = "1" ] ; then
wget $SRCU -O - >> $HOSTS
eval RETCODE=$?
if [ "$RETCODE" -eq 0 ] ; then
logger Hosts script: Downloaded $SRCU
GOTSRC="1"
else
logger Hosts script: Failed to download $SRCU \(Return code $RETCODE\)
fi
fi
done
I had to rename the SRC1U, SRC2U, etc. variables to SRCU1, SRCU2, etc. to make them work in the FOR loop. I'm sure there is a way to make them work in their original form, but I couldn't easily find it. I also found (after some difficulty) that WGET is case-sensitive. It didn't like "-o" at all. It
had to be "-O". The irritating thing is that my WGET docs show "-o", not "-O".
Thanks again for helping when no one else would.