Bash string (comando de salida) prueba de igualdad

Tengo un script simple para verificar si la página web contiene una cadena específica. Parece que:

#!/bin/bash
res=`curl -s "http://www.google.com" | grep "foo bar foo bar" | wc -l`
if [[ $res == "0" ]]; then
    echo "OK"
else
    echo "Wrong"
fi

Como puede ver, estoy buscando obtener "OK", pero tengo un "Wrong".

¿Qué tiene de malo?

Si uso si [$ res == "0"], funciona. Si solo uso res = "0" en lugar de res =curl..., También puede obtener los resultados deseados.

¿Por qué hay estas diferencias?

Respuestas a la pregunta(2)

Su respuesta a la pregunta