Помогите разобраться как решить практикум. есть Knoppix. как создавать файл с скриптом, как сохранять, и т.д. желатеьлно подробней т.е. програмировал только на VBAТребуется реализовать программу 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 - при
передаче в командной строке имени файла, программа
должна интерпретировать содержимое файла.p.s. вознаграждение возможно
>Помогите разобраться как решить практикум. есть Knoppix. как создавать файл с
>скриптом, как сохранять, и т.д. желатеьлно подробней т.е. програмировал только
>на VBA
>
>Требуется реализовать программу 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 - при
>передаче в командной строке имени файла, программа
>должна интерпретировать содержимое файла.
>
>p.s. вознаграждение возможно
http://gazette.linux.ru.net/rus/articles/abs-guide/index.html