Проект-оболочка под Linux (Microshell)
2 800 руб. за проект
Задание состоит в том, чтобы, используя язык 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), обработка истории команд через стрелки, завершение синтаксиса и т. д.
Необходимо выполнить следующие условия:
1. вывести на экран подсказку [{path}] $, где {path} это путь к текущему рабочему каталогу;
2. команда cd, действуя аналогично cd известных нам по оболочке bash;
3. команда exit, завершение работы программы-оболочки;
4. команда help, отображение на экране информации об авторе программы и предлагаемых ею функциональных возможностях;
5. обрабатывать две другие произвольные команды оболочки (например, вашу собственную независимую, промежуточную реализацию двух команд) очень простые реализации, такие как echo посредством printf() не принимаются;
6. принимать команды, которые ссылаются по имени на программы, расположенные в каталогах, описанных значением переменной среды PATH и позволяют вызывать эти скрипты и программы с аргументами (чит. fork() + exec*());
7. выводить сообщение об ошибке, когда невозможно правильно интерпретировать команду;
8. имеют так называемые дополнительные возможности, например отображение логина текущего вошедшего пользователя, поддержка цвета, поддержка аргументов в инвертированных запятых, разумная обработка сигналов (например. Ctrl+Z), обработка истории команд через стрелки, завершение синтаксиса и т. д.
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.