Я реализую оболочку linux для своего уик-энда, и у меня возникли некоторые проблемы с реализацией сопоставления wilcard как функции в оболочке.Как все мы знаем, оболочки сами по себе являются полным языком, например, bash, ksh и т. Д. Мне не нужно реализовывать полные функции, такие как структуры управления, задания и т. Д. Но как реализовать *
?
Быстрый анализ дает следующий результат:
echo *
перечисляет все файлы в текущем каталоге.Это единственное логическое проявление оболочки?Я имею в виду, не принимая во внимание специфические для языка особенности bash, это то, что делает оболочка внутри?Заменить *
всеми файлами в текущем каталоге, совпадающими с шаблоном?
Также я слышал о Perl-совместимых регулярных выражениях, но, похоже, сложно использовать стороннюю библиотеку.
Какие-либо предложения, ссылки и т. Д.?Я постараюсь посмотреть исходный код, а также bash.