Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [С|shell]Написать простой командный интерпретатор |
Автор: olegarh 19.12.2011, 19:17 |
Написать простой командный интерпретатор, читающий со стандартного ввода команды и выполняющий их. Интерпретатор должен: • отображать приглашение (желательно в приглашении печатать текущий каталог); • запускать внешние программы, передавать им аргументы командной строки; • изменять текущий каталог. Например, в ответ на команду ls -l интерпретатор должен вызвать внешнюю программу ls, передав ей параметр -l, а в ответ на команду cd /etc(Команда изменения рабочего каталога может иметь и другое имя.) интерпретатор должен изменить рабочий каталог на /etc. Кроме этого, необходимо реализовать одну из следующих возможностей. • Перенаправление ввода-вывода в файл и из файла (>, >>, <). Интерпретировать команды перенаправления нужно так же, как они интерпретируются в Bash. • Поддержка каналов (|), позволяющих передать данные, печатаемые процессом на стандартный вывод, на стандартный вход другого процесса. • Поддержка переменных окружения: возможность создавать новые переменные окружения, присваивать им значения, читать значения переменных окружения, использовать переменные в командах и передавать измененное окружение создаваемым процессам. |