/shell

Реализация базовой версии интрепретатора shell с помощью языка C.

Primary LanguageC

Task5

Возможности

На данный момент были реализованы внутренние команды shell (cd, pwd, exit), а также обработка кавычек, экранирования и комментария.

Выполняется подстановка переменных среды, идёт перенаправление ввода и вывода (>, >>, <).

Реализованы последовательное выполнение комманд ( ; ) и обработка фоновых процессов.

Программа может работать с конвейером ( | ) и исполнять коммандные файлы.

Ctrl+C прерывает выполнение текущей комманды, а Ctrl+D завершает работу shell.

Реализация и дополнительные материалы

Синтаксис shell описан в файле bnf.txt.

Набор тестов для проверки содержится в файле tests.txt.

Сборка осуществляется при помощи приложенного makefile.

Общая схема реализации и разъяснение деления по блокам содержатся в отчёте report.pdf.