Shell должен представлять из себя программу с частичной функциональностью sh, bash или cmd. При запуске программа выводит приглашение и ожидает ввода одной из команд.
- ls. Вывести список файлов и директорий для текущей директории.
- pwd. Вывести полный путь для текущей директории.
- cd <путь>. Переход по относительному или абсолютному пути.
- cp <имя файла> <имя файла>. Скопировать файл.
- mv <имя файла> <имя файла>. Переместить файл.
- rm <имя файла>. Удалить файл.
- rmdir <имя директории>. Удалить директорию в случае, если она пуста.
- mkdir <имя директории>. Создать директорию, если ее не было. Все пути могут быть полными или относительными. Программа должна проверять возможность выполнения операций (существование и несуществование файлов), и сообщать об ошибках в случае их возникновения.
- Реализация запуска исполняемых файлов или пайпов
run <путь к исполняемому файлу> <аргументы>. Запускаем файл, печатаем его вывод stdout и stderr, ожидаем завершения перед вводом след. команды. Пример: $ run echo ‘hello’ hello
- Тесты
git clone https://github.com/alliseeisgold/review_1.git
pip install -r requirements.txt
python3 main.py