On Tue, Dec 16, 2014 at 09:36:33AM +0000, Pedro Alves wrote: > On 12/15/2014 11:00 PM, Sergio Durigan Junior wrote: > > +# Check if grep supports the '--text' option. > > + > > +GREP_TEXT_OPT="--text" > > +if grep --text 2>&1 | grep "unrecognized option" > /dev/null 2>&1 ; then > > + GREP_TEXT_OPT="" > > +fi > > + > > That assumes all greps output "unrecognized option" on > unrecognized options. I don't think that can be counted on being > portable? ISTM reversing the logic of the test would be better. > IOW, test that --text actually works. Something like this perhaps: > > # If grep supports the '--text' option, use it. > GREP_TEXT_OPT="" > if echo foo | grep --text foo > /dev/null 2>&1 ; then > GREP_TEXT_OPT="--text" > fi
Even better include some non-text bytes around the foo string in the input you feed to grep. Also, perhaps better would be to use a GREP variable, initialized to GREP=grep or GREP="grep --text" and just invoke $GREP. Jakub