title: Glob pattern to match non-hidden filenames that don't start with a particular string
body: <p>I'm pretty inexperienced to globbing in general. How would one go about writing a glob pattern that matches filenames <em>not</em> starting with, say, "ab" but still <em>need a length of at least 2</em>? i.e. "start with something 2-letter string other than "ab"" This is a homework question, and only basic bash globs are allowed, and must work with "echo &lt;glob here&gt;".</p>
  
  <p>Note: the question verbatim is </p>
  
  <blockquote>
    <p>(Non-hidden) files in the current directory whose names contain at least two characters, but do not start with ab.</p>
  </blockquote>
  
  <p>printed on paper. I'm pretty sure I didn't misunderstand anything. The requirements are</p>
  
  <blockquote>
    <p>For each of the following file search criteria, provide a globbing pattern that matches
    the criterion. Your answer in each case should be a text file with the following format:</p>
  </blockquote>
  
  <pre><code>echo &lt;pattern&gt;
  </code></pre>
  
  <p>My current attempt is <code>echo {a[!b]*,[!a.]?*}</code> but somehow it gets no points with the automatic grader which actually runs your file against a test case automatically without human intervention.</p>