2. I think this is for the situation where the glob doesn't match, and the nullglob shell option is not set. Without that option, a non-matching glob is processed as a regular word. e.g. In an empty directory:
$ for file in ./*; do echo $file; done
./*
Note the glob pattern is printed by the echo statement. The -e test catches this condition.
2. I think this is for the situation where the glob doesn't match, and the nullglob shell option is not set. Without that option, a non-matching glob is processed as a regular word. e.g. In an empty directory:
Note the glob pattern is printed by the echo statement. The -e test catches this condition.