Um comando composto com chaves deve ter ponto e vírgula depois de cada comando:
{ cmd1; cmd2; cmd3; }
Então mude para:
... || { echo "download failed" ; exit 3; }
Observe que o espaço após o último comando é necessário:
The braces are reserved words, so they must be separated from the list (the commands) by blanks or other shell metacharacters.
Além disso, observe que você deve citar suas variáveis:
wget --no-check-certificate --directory-prefix="${tempFolder}" "${i}"