Nesse caso, a string em $param será interpretada como uma expressão regular. Essa expressão contém um $ que ancora o ambari_parameter no padrão ao final da correspondência. Como ambari_parameter$ nos dados de entrada não contém ambari_parameter no final, ele não corresponderá.
Você pode escolher combinar com uma string fixa em vez de uma expressão regular , usando -F :
echo 'ambari_parameter$' | grep -F -e "$param"
Eu também usei -e aqui para forçar o grep a reconhecer o seguinte argumento como um padrão. Isso é necessário se $param começar com um traço ( - ).
Para exigir ainda mais que a linha de entrada inteira corresponda à string completa, adicione -x :
echo 'ambari_parameter$' | grep -xF -e "$param"
Se $param for ambari_parameter$ , isso não corresponderá à string _ambari_parameter$ (que corresponderá se -x for omitida).