Se o seu diretório atual estiver vazio, o padrão * não corresponderá a nada. Nesse caso, como nullglob está desativado, a string * é não substituída e você está solicitando que ls liste o arquivo chamado "*" . Se você quiser que o padrão seja substituído por uma string vazia quando não corresponder a nada, use shopt -s nullglob