Ч а с т ь I главный редактор


Разработка командной оболочки с поддержкой конвейера (pipeline)



Pdf көрінісі
бет26/90
Дата20.02.2023
өлшемі7.68 Mb.
#469824
1   ...   22   23   24   25   26   27   28   29   ...   90
moluch 342 ch1 9e2Iv3V (1)

Разработка командной оболочки с поддержкой конвейера (pipeline)
Евстратов Виталий Владимирович, студент
Камчатский государственный технический университет (г. Петропавловск-Камчатский)
В данной статье говорится об особенностях разработки командной оболочки (shell) для UNIX систем. Приводятся блок-схемы 
работы основных алгоритмов работы командной оболочки. Подробно разбирается реализация конвейера (pipeline).
Ключевые слова: shell, командная оболочка, pipeline, конвейер, UNIX, разработка
Введение
В вычислительной технике оболочка операционной си-
стемы — программа, предоставляющая интерфейс для взаимо-
действия пользователя с функциями системы. В общем случае 
оболочки операционной системы используют либо интерфейс 
командной строки CLI (command line interface), либо графиче-
ский пользовательский интерфейс GUI (graphical user interface).
Оболочки командной строки требуют, чтобы пользователь 
был знаком с командами и их синтаксисом вызова, а также по-
нимал понятия о специфичном для оболочки языке сценариев 
(например, bash).
Графические оболочки создают низкую нагрузку на начина-
ющих пользователей компьютеров и характеризуются простотой 
в использовании. Поскольку они также имеют определенные не-
достатки, большинство операционных систем с поддержкой гра-
фического интерфейса также предоставляют оболочки CLI.
В профессиональной среде программистов считается, что 
умение пользоваться командной строкой является необхо-
димым для наиболее гибкой и тонкой настройки и эксплуа-
тации персонального компьютера. Особенно это касается опе-
рационных систем семейств UNIX/GNU.
В данной статье будет рассмотрен процесс создания обо-
лочки командной строки, включающий в себя базовый функци-
онал (подробнее о нем ниже) популярной оболочки bash.
Разрабатываемый функционал
В данной статье будет показан принцип работы:
1. выполнение программ в зависимости от пути в ОС до них;
2. выполнение команд, встроенных в командную оболочку;
3. обработка конвейера (pipeline, «|»);
Основная идея
Поскольку главная цель командной оболочки — интерак-
тивное предоставление инструкций и данных операционной 
системе, то простейший цикл выполнения команды будет вы-
глядеть как на рисунке 1.
Процесс считывание команды полностью приводить неце-
лесообразно, поскольку существует много нюансов обработки 
вводимых символов: разделители («;», «|», «&&», «||»), два типа 
кавычек (одинарные и двойные), специальные символы («$», 
«?», «*»), экранирование специальных символов и прочее.
Стоит сказать, однако, что после выполнения блока Read 
command мы должны получить структуру, в которой хранятся 
данные о названии команды, её аргументы, и необходимо ли ре-
зультат команды передавать в конвейер (pipeline).


Достарыңызбен бөлісу:
1   ...   22   23   24   25   26   27   28   29   ...   90




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет