<div dir="ltr">As a `grep -q` user I can confirm that modern Solarises and osx also support it.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 28, 2014 at 11:19 PM, der.hans <span dir="ltr"><<a href="mailto:PLUGd@lufthans.com" target="_blank">PLUGd@lufthans.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Am 28. Mai, 2014 schwätzte Bryan O'Neal so:<br>
<br>
moin moin Bryan,<br>
<br>
because you're weird :). Or maybe that's Al,<br>
<a href="http://www.youtube.com/watch?v=JUQDzj6R3p4" target="_blank">http://www.youtube.com/watch?<u></u>v=JUQDzj6R3p4</a> :).<br>
<br>
Not every grep supports -q, but I don't know if that's the case for<br>
current releases. GNU grep has supported it for years and years. Looks<br>
like FreeBSD has for at least a few major releases, so also for years and<br>
years.<br>
<br>
AIX, Solaris, etc. probably don't, but you should install GNU grep, GNU<br>
date, etc. on those anyway :).<br>
<br>
[[ ]] vs [ ] is just for extra emphasis :). Or maybe... [[ ]] is for<br>
compound commands and [ ] is for test. Both use conditional expressions.<br>
<br>
The compound command, [[ ]], allows extra operators.<br>
<br>
== and != allow glob pattern matching:<br>
<br>
$ ( fred=anke; if [[ $fred == *ke ]] ; then echo $fred; fi )<br>
anke<br>
$<br>
<br>
$ ( fred=anke; if [ $fred == *ke ] ; then echo $fred; fi )<br>
$<br>
<br>
$ ( fred=anke; if [[ $fred == [:alpha:]?ke ]] ; then echo $fred; fi )<br>
anke<br>
$<br>
<br>
=~ allows regex pattern matching:<br>
<br>
$ ( fred=anke; if [[ $fred == [:alpha:]*ke ]] ; then echo $fred; fi )<br>
anke<br>
$<br>
<br>
Hmm, cool. According to bash(1), "If the regular expression is<br>
syntactically incorrect, the conditional expression's return value is 2."<br>
<br>
Note that the patterns to be matched must be on the right hand side of the<br>
operator.<br>
<br>
Now I need to make time to update my class materials as I just realized<br>
there's a dearth of references to Weird Al :).<br>
<br>
ciao,<br>
<br>
der.hans<div class="HOEnZb"><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
So I had a coworker ask me why I always do<br>
echo $foo | grep $bar > /dev/null<br>
if [[ $? -eq 0]] then; ....<br>
<br>
Instead of just using greps quiet option. And I remember their being<br>
some definite bug with -q and checking return codes but for the life<br>
of me I can not recall it right now.  Just like I can not recall why I<br>
use [[ ]] insted of just [ ]. Their was a reason I switched at some<br>
point but can not recall what it is.<br>
It could have been somthing  with egrep or using peal regex with grep<br>
but honestly I can not recall...<br>
<br>
Thus I am here to ask you, my fellow bash geeks, what what that reason!<br>
------------------------------<u></u>---------------------<br>
PLUG-discuss mailing list - <a href="mailto:PLUG-discuss@lists.phxlinux.org" target="_blank">PLUG-discuss@lists.phxlinux.<u></u>org</a><br>
To subscribe, unsubscribe, or to change your mail settings:<br>
<a href="http://lists.phxlinux.org/mailman/listinfo/plug-discuss" target="_blank">http://lists.phxlinux.org/<u></u>mailman/listinfo/plug-discuss</a><br>
<br>
</blockquote>
<br></div></div><span class="HOEnZb"><font color="#888888">
-- <br>
#  <a href="http://www.LuftHans.com/" target="_blank">http://www.LuftHans.com/</a>        <a href="http://www.LuftHans.com/Classes/" target="_blank">http://www.LuftHans.com/<u></u>Classes/</a><br>
#  "It's not that I'm so smart, it's just that I stay with problems longer."<br>
#  -- Albert Einstein</font></span><br>---------------------------------------------------<br>
PLUG-discuss mailing list - <a href="mailto:PLUG-discuss@lists.phxlinux.org">PLUG-discuss@lists.phxlinux.org</a><br>
To subscribe, unsubscribe, or to change your mail settings:<br>
<a href="http://lists.phxlinux.org/mailman/listinfo/plug-discuss" target="_blank">http://lists.phxlinux.org/mailman/listinfo/plug-discuss</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">

Paul Mooring<div>Operations Engineer</div><div>Chef</div></div>
</div>