Проект-оболочка под Linux (Microshell)

2 800 руб. за проект
23 января 2023, 12:40 • 7 откликов • 65 просмотров
Задание состоит в том, чтобы, используя язык 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), обработка истории команд через стрелки, завершение синтаксиса и т. д.