Проект-оболочка под Linux (Macroshell)
4 000 руб. за проект
Задача состоит в том, чтобы на языке C написать расширение программы Microshell, работающей под Linux — Macroshell . Оболочка должна соответствовать всем обязательным элементам дизайна Microshell и указанным ниже:
ТочкиОбязательныйОписание0,5 балла✓отображать подсказку как [{path}] $, где {path}путь к текущему рабочему каталогу;0,5 балла✓обрабатывать команду cd, которая работает так же, как cdмы знаем из оболочки bash;0,5 балла✓обрабатывать команду exit, завершающую программу оболочки;0,5 балла✓поддерживать команду help, выводя на экран информацию об авторе программы и предлагаемых ею функциональных возможностях;2 балла✓принимать команды, ссылающиеся по имени на программы, расположенные в каталогах, описываемых значением переменной окружения, PATHи разрешать вызов этих скриптов и программ с аргументами (читать fork()+ exec*());1 балл✓вывести сообщение об ошибке, когда команда не может быть правильно интерпретирована;максимум 25 баллов✓реализовать как минимум три из следующих функцийДополнительные функции (по 5 баллов):
ТочкиОбязательныйОписание0,5 балла✓отображать подсказку как [{path}] $, где {path}путь к текущему рабочему каталогу;0,5 балла✓обрабатывать команду cd, которая работает так же, как cdмы знаем из оболочки bash;0,5 балла✓обрабатывать команду exit, завершающую программу оболочки;0,5 балла✓поддерживать команду help, выводя на экран информацию об авторе программы и предлагаемых ею функциональных возможностях;2 балла✓принимать команды, ссылающиеся по имени на программы, расположенные в каталогах, описываемых значением переменной окружения, PATHи разрешать вызов этих скриптов и программ с аргументами (читать fork()+ exec*());1 балл✓вывести сообщение об ошибке, когда команда не может быть правильно интерпретирована;максимум 25 баллов✓реализовать как минимум три из следующих функцийДополнительные функции (по 5 баллов):
- обрабатывать перенаправления, например.program < input > output
- обрабатывать потоки, например.program1 | program2 | program3
- обрабатывать сигналы таким образом, что, например, при <Ctrl+C>отправке дочернему процессу это не приведет к закрытию родительского процесса
- поддерживать выполнение команд в фоновом режиме с помощью&
- включить управление фоновыми задачами ( jobs, bg, fg)
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.