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