In most shells nullglob isn't the default. That means, for example, if you run this command
ls *
in an empty directory, it will expand the * glob to a literal *, instead to an empty list of arguments. There are ways to change that behaviorbehaviour, so that ** in an empty directory will return an empty list of arguments, which would seem more intuitive.
So, is there a reason why nullglob is disabled by default? If so, what is that reason?