Primeiro você tem que citar sua variável, então você deve usar a opção -F --fixed-strings para evitar interpretar os colchetes como meta-caracteres de expressões regulares:
echo "$signature" | grep -F "$signature"
Em seguida, você também deve usar a opção -q --quiet , portanto, grep sair assim que encontrar a primeira ocorrência. Isso apenas para consideração de velocidade:
if ! grep -Fq "$signature" downloaded.log; then
wget ...
fi