globs, более правильно называемые [shell] шаблоны, а также известные как подстановочные выражения, являются экземплярами языка сопоставления шаблонов, используемого во многих, особенно. POSIX-подобные оболочки, чтобы соответствовать именам файлов и строкам: например, `*.c` является glob для исходных файлов C и соответствует любому файлу, чей суффикс (расширение) -`.c`.

Шаблоны Glob дистанционно связаны с регулярными выражениями, но имеют более простой, несовместимый синтаксис и предлагают меньше возможностей.

Их типичное использование - сопоставление нескольких имен файлов или путей на основе абстрактного шаблона; например:.

  • *.cpp
  • log-user*-[0-9][0-9].gz

Основное различие между глобусами и регулярными выражениями (тег: ), существует гораздо меньше метасимволов для globbing, и нет символов дублирования (квантификаторы). В первую очередь, * и ? сами по себе соответствуют любой (возможно пустой) последовательности символов и любому одиночному символу соответственно.

В Википедии есть страница шаблоны шаров.

В системах Unix нотация POSIX описывает обозначения для POSIX-совместимых оболочек.

Как правило, сама оболочка обрабатывает шаблон glob, указанный как некотируемый аргумент команде: он расширяет его до всех совпадающих имен файлов и передает их как отдельные аргументы в указанную команду, процесс, известный как имя файла или расширение пути,

Обратите внимание, что использование шаблонов в оболочках, подобных POSIX, не ограничено расширением имени файла: они также используются в расширениях параметров (например, ${HOME##*/} для удаления пути к каталогу с пути) и операций сопоставления строк (например, с case ... esac).