On Wed, Dec 7, 2016, at 00:15, Steven D'Aprano wrote: > and the shell expands the metacharacters ? {...} * [...] regardless of > how much > smarts the command itself has. > > There are thousands of programs I might use, and they may implement who > knows > how many different globbing rules: > > - some might support * and ? but not {...}
Just to point out, brace expansion isn't globbing. The most important difference is that brace expansion doesn't care what files exist. {a,b}c becomes "ac bc" regardless of if the files exist. {a,b}* becomes a* b*, and if no files match one or both of these, it does whatever the shell does in such cases. This is why you can do commands like "mv fix_a_ty{op,po}_in_this_filename" -- https://mail.python.org/mailman/listinfo/python-list