Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [С|shell]Написать простой командный интерпретатор


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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)