$
é um caractere especial no bash que pode ser usado para expandir parâmetros como variáveis ou parâmetros especiais como $?
. Se você quiser usá-lo em uma string de aspas duplas, você precisa escapar com um \
$ [ "\$a" != "\$b" ]
$ echo "$?"
0
Ou use aspas simples (dentro das quais nenhum caractere é tratado especialmente) em vez de aspas duplas:
$ [ '$a' != '$b' ]
$ echo "$?"
0