КС:2015:Проект:Shell — различия между версиями
Aparinov (обсуждение | вклад) (123) |
Aparinov (обсуждение | вклад) (345) |
||
Строка 32: | Строка 32: | ||
Необходимо иметь приватный git-репозиторий на сайте [http://BitBucket.org BitBucket.org] с проектом, в который приглашен ментор [http://bitbucket.org/aparinov aparinov]. В репозитории должно быть: | Необходимо иметь приватный git-репозиторий на сайте [http://BitBucket.org BitBucket.org] с проектом, в который приглашен ментор [http://bitbucket.org/aparinov aparinov]. В репозитории должно быть: | ||
* Файл README.md, который содержит описание проекта, написанный в расчета на "конечного пользователя". Это описание должно быть написано '''самостоятельно''', а не скопировано из Wiki, и отражать Ваше понимание того, что нужно сделать. | * Файл README.md, который содержит описание проекта, написанный в расчета на "конечного пользователя". Это описание должно быть написано '''самостоятельно''', а не скопировано из Wiki, и отражать Ваше понимание того, что нужно сделать. | ||
− | |||
* Для тех, кто реализует проект на Си/C++, - проектный файл CMakeLists.txt. | * Для тех, кто реализует проект на Си/C++, - проектный файл CMakeLists.txt. | ||
* Отображение двух панелей. Обе панели должны одновременно отображать директории и файлы файловой системы компьютера. | * Отображение двух панелей. Обе панели должны одновременно отображать директории и файлы файловой системы компьютера. |
Версия 22:42, 20 октября 2015
Содержание
Метаданные проекта
ID проекта: shell Ментор проекта: Паринов А.А. Аккаунты ментора в git-сервисах:
- GitHub.com: aparinov
- GitLab.com: aparinov
- BitBucket.org: aparinov
Что это за проект
Введение
Интерпретатор командной строки - программа, одна из основных частей операционной системы, обеспечивающая базовые возможности управления компьютером посредством интерактивного ввода команд через интерфейс командной строки. Помимо обязательной части функционала, по согласованию с ментором, приветствуется расширенная функциональность и авторская реализация выполнения стандартных операций.
Что требуется
Реализовать интерпретатор командной строки, который будет поддерживать обработку команд в стиле bash.
Чему вы научитесь
1. Освоите библиотеку терминального ввода-вывода (ncurses)
2. Освоите управление заданиями POSIX
Начальные требования
1. Умение разрабатывать программы на C или C++
Критерии оценивания
Первая контрольная точка (24 октября 2015 г.)
Необходимо иметь приватный git-репозиторий на сайте BitBucket.org с проектом, в который приглашен ментор aparinov. В репозитории должно быть:
- Файл README.md, который содержит описание проекта, написанный в расчета на "конечного пользователя". Это описание должно быть написано самостоятельно, а не скопировано из Wiki, и отражать Ваше понимание того, что нужно сделать.
- Для тех, кто реализует проект на Си/C++, - проектный файл CMakeLists.txt.
- Отображение двух панелей. Обе панели должны одновременно отображать директории и файлы файловой системы компьютера.
- Должен быть реализован интерпретатор командной строки, который поддерживает разбиение аргументов по пробельным символам, запуск в основном режиме.
- В левая панель должна поддерживать ввод команд. Правая панель отображать текст Man страницы последней введенной команды.
Итоговая оценка
- 4 балла. Реализован интерпретатор, который поддерживает разбиение аргументов по пробельным символам, поддерживает одиночные и двойные кавычки в аргументах, символ \, перенаправления и конвейеры.
- +2 балла. Реализован фоновый режим средствами job control.
- +2 балла. Реализовано редактирование вводимой командной строки.
- +2 балла. Реализованы переменные окружения и подстановка программ с помощью `cmd`.