Skip to content

azedefender/emulator_variant9

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

README.md

Эмулятор оболочки — Вариант 9 (ИКБО-43-24)

Описание

Реализован минимальный эмулятор командной оболочки (CLI) для варианта №9. Эмулятор выполняет команды, работает с VFS, загружаемым из ZIP-архива, поддерживает выполнение стартовых скриптов и логирует ошибки в консоли.

Реализованные этапы (требования варианта №9):

  • Этап 1 (REPL): консольный интерфейс, приглашение содержит имя VFS, парсер с обработкой аргументов в кавычках, заглушки ls/cd, команда exit.
  • Этап 2 (Конфигурация): параметры командной строки --vfs и --script. Стартовый скрипт поддерживает комментарии (# ...) и при исполнении показывает ввод и вывод, ошибки сообщаются.
  • Этап 3 (VFS): источник — ZIP-архив; все операции в памяти; ошибки загрузки сообщаются.
  • Этап 4 (Основные команды): реализованы ls, cd, tail, date.
  • Этап 5 (Доп. команды): реализована mkdir (вносит изменения только в памяти).

Структура (предлагаемый репозиторий)

emulator_variant9/
├─ README.md
├─ emulator.py # основной исполняемый файл
├─ sample_vfs.zip # пример VFS (ZIP). создаётся вручную или с помощью helper
├─ scripts/
│ ├─ start.script # пример стартового скрипта
│ └─ test_vfs.script # дополнительные тесты
└─ LICENSE

Как запустить

  1. Требования: Python 3.8+ (стандартные библиотеки: zipfile, argparse, shlex).
  2. Скопируйте emulator.py в рабочую папку и подготовьте ZIP-VFS (см. ниже).
  3. Запуск в интерактивном режиме (без стартового скрипта):
python emulator.py --vfs sample_vfs.zip
  1. Запуск со стартовым скриптом:
python emulator.py --vfs sample_vfs.zip --script scripts/start.script

Формат стартового скрипта

  • Каждая строка — команда эммулятора.
  • Комментарии начинаются с # и игнорируются.
  • При исполнении каждая строка выводится как ввод и затем выводится результат или сообщение об ошибке.

Пример (scripts/start.script):

# Пример запуска
ls
cd "dir with spaces"
ls
cat file.txt
mkdir newdir
ls

Примеры использования реализованных команд

  • ls [path] — перечислить содержимое (если путь пропущен — текущая директория).
  • cd <path> — сменить текущую директорию (поддерживает ..).
  • exit — выход из эмулятора.
  • tail [-n NUM] <file> — показать последние NUM строк (по умолчанию 10).
  • date — вывести текущую дату и время ОС.
  • mkdir <dir> — создать директорию в VFS (только в памяти).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages