Quando você executa ps -ef | grep string , o grep é exibido na saída porque string corresponde a [...] grep string .
Mas, quando você executa ps -ef | grep [s]tring , a linha não é exibida, pois o grep traduz [s]tring para string , enquanto o ps gera [...] grep [s]tring e não corresponde a string