¿Cuándo se requieren corchetes en una declaración Bash if?

Por lo general, uso corchetes en la declaración if:

if [ "$name" = 'Bob' ]; then ...

Pero, cuando verifico sigrep tuvo éxito No uso los corchetes:

if grep -q "$text" $file ; then ...

¿Cuáles son los corchetes necesarios en laif declaración?

Respuestas a la pregunta(6)

Su respuesta a la pregunta