Consider the following expression evaluations:
$ echo .
.
$ echo .[]
.[]
$ echo .[].
.[].
$ echo .[].[]
.. # <- WAT??
$ echo .[].[].
.[].[].
$ echo .[].[].[]
.[].[].[]
Can someone explain why .[].[] has this special behavior?
(Tested in bash 3.2.57(1)-release (x86_64-apple-darwin18) and 4.4.23(1)-release (arm-unknown-linux-androideabi).
I suspect it has something to do with .. being a valid "file" (the parent directory). But then why doesn't e.g. .[]. produce the same result?