Bash evaluation of expression .[].[] : <p>Consider the following expression evaluations:</p>

<pre><code>$ echo .
.
$ echo .[]
.[]
$ echo .[].
.[].
$ echo .[].[]
..                # &lt;- WAT??
$ echo .[].[].
.[].[].
$ echo .[].[].[]
.[].[].[]
</code></pre>

<p>Can someone explain why <code>.[].[]</code> has this special behavior?</p>

<p>(Tested in bash <code>3.2.57(1)-release (x86_64-apple-darwin18)</code> and <code>4.4.23(1)-release (arm-unknown-linux-androideabi)</code>.</p>

<p>I suspect it has something to do with <code>..</code> being a valid "file" (the parent directory). But then why doesn't e.g. <code>.[].</code> produce the same result?</p>
