Создать простой командный интерпретатор smallsh, способный транслировать и
выполнять команды на переднем плане и в фоновом режиме, а также обрабатывать
строки, состоящие из нескольких команд, разделённых точкой с запятой (глава
5.9).
Операционная система: Linux.
Язык программирования: C/C++
Упражнение 5.9. Включите в smallsh механизм для экранирования с помощью символа
(escaping) специального значения символов (; & new-line), так чтобы они
могли входить в список аргументов программ. Программа должна также корректно
интерпретировать комментарии, обозначаемые символом # в начале строки.
Упражнение 5.10. Реализуйте механизм перенаправления ввода-вывода.
Упражнение 5.12. Реализуйте несколько встроенных команд: cd, pwd, exit, kill,
declare (только выдача списка переменных).
Упражнение 6.1. Smallsh должен обрабатывать сигналы (клавиши прерывания и
завершения) как настоящий командный интерпретатор — выполнение фоновых
процессов не должно прерываться сигналами SIGINT и SIGQUIT.
Методические материалы: Книга системное программирование в UNIX
Требуется только программа, она должна быть максимально простая и в ней должно быть много комментариев, которые позволят разобраться в деталях работы.
Опубликован 30.11.2019 в 09:03