MAVMAV
Зарегистрирован: 05.05.2007 Сообщения: 1
|
Добавлено: Сб Май 05 2007 13:48 Заголовок сообщения: Задание по Shell |
|
|
Помогите с практикумом. Unix установл.. редактор Kate есть
как дальше писать ,сохранять программы , запускать
чтобы выполнить задание
Код: | Требуется реализовать программу MyShell, которая будет выполнять (интерпретировать)
некоторое подмножество команд оболочки shell, заданное ниже.
«Побочный» эффект выполнения уже обработанных команд (например, перенаправление ввода-вывода)
не должен влиять на выполнение последующих команд.
Входной язык:
• конвейер pr1 | рг2 | ... | prN для произвольного N>=2; считать, что аргументов у pr1
(1<= I<= N) нет (но возможна реализация с произвольным числом аргументов у
каждого процесса)
• перенаправление ввода-вывода <, >, » (в том числе для pr1 и prN в конвейере)
Например, pr < data > res
pr1 | pr2 > res.txt
• запуск в фоновом режиме & (в том числе и для конвейеров)
Например, pr arg1 arg2 &
pr1 | pr2 | рг3 > res.all &
• последовательное выполнение команд pr1; pr2 ; ... ;prN
pri выполняются как если бы они были переданы интерпретатору по одной команде в строке.
При реализации учитывайте, что приоритет операции I выше, чем приоритет операции ;
однако возможно использование скобок: например, (pr1; рг2) | рг3, что приведет к
конкатенации результатов работы pr1 и рг2, которые будут переданы
процессу рг3 как входные данные.
• pri && рг2
Выполнить pr1; в случае успеха выполнить рг2
• pri || рг2
Выполнить pr1; в случае неудачи выполнить рг2
В качестве процессов для интерпретации можно использовать процессы UNIX,
такие как grep, cat, mv, cp, we, ps, Is, emp, sort, tail и другие.
Вариант усложненный (повышение оценки на 0,5 балла):
• Дополнительно реализовать выполнение скриптов MyShell - при
передаче в командной строке имени файла, программа
должна интерпретировать содержимое файла. |
любая помощь приветсвуеться
возможно материальная компенсация затраченного времени |
|