Проект Microshell (на языке С)

2 000 руб. за проект
08 января 2022, 16:01 • 5 откликов • 64 просмотра
Задание состоит в том, чтобы, используя язык C, написать простую программу-оболочку, работающую под Linux - Microshell. Эта программа должна принимать команды на вход и затем выполнять действия в соответствии с их содержанием.
Необходимо выполнить следующие условия:
1. вывести на экран подсказку [{path}] $, где {path} это путь к текущему рабочему каталогу;
2. команда cd, действуя аналогично cd известных нам по оболочке bash;
3. команда exit, завершение работы программы-оболочки;
4. команда help, отображение на экране информации об авторе программы и предлагаемых ею функциональных возможностях;
5. обрабатывать две другие произвольные команды оболочки (например, вашу собственную независимую, промежуточную реализацию двух команд) очень простые реализации, такие как echo посредством printf() не принимаются;
6. принимать команды, которые ссылаются по имени на программы, расположенные в каталогах, описанных значением переменной среды PATH и позволяют вызывать эти скрипты и программы с аргументами (чит. fork() + exec*());
7. выводить сообщение об ошибке, когда невозможно правильно интерпретировать команду;
8. имеют так называемые дополнительные возможности, например отображение логина текущего вошедшего пользователя, поддержка цвета, поддержка аргументов в инвертированных запятых, разумная обработка сигналов (например. Ctrl+Z), обработка истории команд через стрелки, завершение синтаксиса и т. д.