Embora semelhante, os padrões de curinga a que você está se referindo não são expressões regulares; eles são padrões de glob e, nesse contexto, padrões de shell . Eles são expandidos pelo próprio shell - não por comandos como ls
, cp
, etc. Só para esclarecer, esses comandos não são realmente “utilitários bash”; eles são programas que podem ser executados por qualquer shell .
Quando um comando é digitado em um shell, o shell analisa os tokens (palavras) e uma das coisas que ele faz é expandir glob patterns para nomes de arquivos apropriados. No caso mais comum, esses nomes de arquivos são fornecidos pelo shell como uma lista de argumentos para o comando que está sendo chamado.
Padronização
Esses padrões de shell foram padronizados para sistemas operacionais semelhantes a Unix no POSIX especificação: Notação de correspondência de padrões .
Alguns shells (Bash e o shell Korn) vão além e estendem esses padrões para implementar globs estendidos . Para mais informações, consulte a seção relevante no Wiki do Greg .