O que [ "$NAME" = "John" ] testa?
[ "$NAME" = "John" ]
Se NAME é numericamente igual a John.
Atribui John a NAME.
Se o valor da string de NAME é exatamente igual a John, com as aspas protegendo valores vazios ou com espaços.
Se existe um arquivo chamado John.