Skip to content

Latest commit

 

History

History
49 lines (39 loc) · 2.49 KB

README.md

File metadata and controls

49 lines (39 loc) · 2.49 KB

*** Известные проблемы: ***

Пайпы

  • Запуск в шелле команды ./21sh | ./21sh - два шелла в пайпе, ломаетcя, но не так плохо как раньше
  • Отслеживание ФД
  • наверное стоит отслеживать максимлаьный размер пайпа

Редиректы

  • cat <\b
    ==33440== Warning: invalid file descriptor -1 in syscall close()
  • << heredoc не работает совсем. Их может быть неограниченное количество.
  • Агрегация файлового дескриптера не работает
  • touch riri
    rm riri; cat riri 2>&-
  • mkdir test ; cd test ; ls -a ; ls | cat | wc -c > fifi ; cat fifi
    Команда должна выдать ". .. 5", выдаёт ". .. 0"
  • команды по примеру <& и &>

&& и ||

  • || работает некорректно. echo a || echo b
    a
    b
    А должно выдавать только а. В целом логика ИЛИ требует доработки

Переменные

  • Изменить при старте локаль с utf-8, раз он не обрабатывается.
  • export и сет требуют тестов и сверки
  • Создание переменных для уникальных команд, к примеру HOME=/tmp cd

История:

  • Не сохраняется в файл,а это обязательное условие для модуля 42ш
  • поиск по истории не работает(суффиксное дерево можно будет строить и для истории в том числе, а потом уже легко имплементировать поиск)

Пути

  • Везде где путь опирается на ВЛА на стаке надо исправить его на динамический массив

Job Control #TODO

  • jobs - п,fg,bg и &. Обязательный переквизит для 42, некритично для 21.

Signals *обработка SIGPIPE отложил на будущее. Критично! *в целом обработка сигналов при выполнении пайпов и редиректов пока дыра

hash #TODO

  • Хэш таблица была бы очень кстати. Особенно путей, особенно часто встречающихся. Man hash.