Задание
Разработать интерпретатор команд myshell в виде многомодульного приложения типа клиент-сервер, где каждый модуль выполняет функции программного клиента и/или сервера. Модули взаимодействуют между собойчерез объекты IPC
Функционал программы
- Выполнение интерактивных команд
- Выполнение неинтерактивных команд
- Выполнение встроенных команд
- Выполнение команд с аргументами
- Перенаправление вывода команды в файл
- Поддержка конвейера команд
- История ввода команд
- Обработка ввода некорректных команд
Содержание отчета к программе
- Введение
- 1. Установка ОС Linux на виртуальную машину
- 2. Разработка оболочки
- 3. Результаты работы
- Заключение
- Список использованной литературы
- Приложение № 1. Листинг программы
Фрагмент программного кода
// Функция формирования приглашения командной строки std::string MyShell::get_prompt(){ std::string user = getenv("USER"); std::cout << user << " [" << get_current_directory() << "]$ "; std::string input = ""; std::getline(std::cin, input); return input; }
Скриншот архива с проектом
Пояснения по запуску программы
- ОС Ubuntu (Инструкция по установке ОС на виртуальную машину в ПЗ)
- IDE CodeBlocks
shogun