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).