Стефан Кочан , Патрик Вуд - Программирование командных оболочек в Unix, Linux и OS X
4-е изданиеНазвание: | Программирование командных оболочек в Unix, Linux и OS X | |
Автор: | Стефан Кочан , Патрик Вуд | |
Жанр: | Базы данных | |
Изадано в серии: | неизвестно | |
Издательство: | неизвестно | |
Год издания: | - | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Программирование командных оболочек в Unix, Linux и OS X"
Это полностью обновленное издание классического пособия по программированию командных оболочек в системах Unix. Следуя методике изложения материала, принятой в первоначальном издании, авторы книги уделили основное внимание стандартной оболочке POSIX, поясняя особенности разработки полезных программ в этой удобной среде, чтобы извлечь максимальную пользу из потенциала, заложенного в основу Unix и подобных ей операционных систем.
После краткого обзора команд Unix в книге подробно рассматривается поэтапный процесс создания программ или сценариев оболочки, их отладки и особенностей их работы в среде оболочки. Все основные средства оболочки поясняются на многих практических примерах, что упрощает написание сценариев оболочки для конкретного применения. В книге описываются также основные средства оболочек Korn и Bash.
Читаем онлайн "Программирование командных оболочек в Unix, Linux и OS X". [Страница - 2]
- 1
- 2
- 3
- 4
- . . .
- последняя (82) »
выражение < u s e r s из командной строки , оболочка приступает к выполнению
команды wc, переадресовывая ей стандартный ввод из файла users и передавая
ей только оди н аргумент - 1 (рис. 2. 1 3).
70
Гл а в а 2. Назначение оболочки
Р ис. 2.13. П роцесс в ып ол нения кома нды
wc
-
1 <
users
Когда команда wc начинает свое выполнение, она на этот раз замечает, что ей
передан только один аргумент -1. А поскольку имя файла не указано, то к� манда
wc решает, что строки, количество которых следует подсчитать, должны посту
пать не из файла, а из стандартного ввода. Таким образом, команда wc - 1 под
считывает количество строк, даже не подозревая, что эти строки на самом деле
поступают из файла u s e r s . Конечный результат выполнения этой команды ото
бражается как обыч но, но без и мени файла, поскольку оно не было передано ко
манде wс.
Очень важно уяснить отличия в выполнении обеих рассмотренных выше ко
манд. Если эти отличия по каким-то причи нам вам не ясны, внимател ьно прочи
тайте этот раздел еще раз, прежде чем перейти к следующему разделу.
Подключение кон вейера
Оболочка просматривает командную строку в поисках не только символов для
переадресации ввода-вывода, но и символа канала ( 1 ) . При каждом совпадении с
этим символом оболочка подключает стандартный вывод из предыдущей коман
ды к стандартному вводу последующей команды, а затем начи нает выполнение
обеих программ.
Так, если ввести следующую строку:
who 1 wc -1
оболочка обнаружит символ канала, разделяющий команды who и wc. При этом
она подключает стандартный вы вод из первой команды к стандартному вводу
второй команды, а затем начинает выполнение обеих команд. В результате своего
выполнения команда who производит список зарегистрированных пользователей
и направляет его в стандартный вывод, даже не подозревая, что это не терми нал,
а другая команда.
А когда выполняется команда wc, то она выясняет, что имя файла не указано,
и поэтому подсчитывает строки из стандартного ввода, даже не подозревая, что
стандартный ввод поступает не с терминала, а следует из результата, выводимого
командой who.
Как станет ясно в дальнейшем, конвейер можно образовать не только из двух
команд, но из сложной цепочки, состоящей из трех, четырех, пяти или больше
го числа команд. И хотя это не легко уяснить поначалу, тем не менее, едва ли
не самый большой потенциал системы Unix кроется именно в конвейеризации
команд.
Обяза н ности о болочки
71
Контрол ь окружен ия
Оболоч ка предоставляет такие команды, которые дают вам возможность спе
циально настраи вать свое окружение. В это окружение обыч но входит ваш на
чальный каталог; символы, которые оболочка отображает, приглашая вас ввести
команду; а также список каталогов, который следует искать всякий раз, когда вы
запрашиваете выпол нение программы. Подробнее о контроле своего окружения
вы узнаете в главе 1О.
И нтерп рети руем ы й яз ы к п рогра м ми рования
У оболоч ки и меется свой встроенный язык программирования. Это интер
претируемый язык, а следовательно, оболочка анализи рует каждый вводимый
оператор своего языка и выполняет любые команды, которые она посчитает до
стоверными. Этим язык оболоч ки отл и чается от таких языков программирова
ния, как С++ и Swift, где операторы, как правило, компилируются в исполняемый
машинный код перед их выпол нен ием.
Отлажи вать и видоизменять программы, разработан ные на и нтерпретируе
мых языках программ ирования, как правило, проще, чем компилируемые про
граммы. Но в то же время они выпол н я ются дольше, чем их ком пили руемые
аналоги .
Для программирования на языке оболочки предоставляются средства, кото
рые можно обнаружить в больши нстве других языков программ ирования. В част
ности, язык оболоч ки является процедурно-ориентированным и предоставляет
конструкции для организаци и ци клов, операторы выбора, переменные и функ
ции. В современных оболочках, основанных на стандарте IEEE POSIX, и меются
и многие другие языковые средства, в том числе масси вы, типы дан ных, встроен
ные арифметические операции.
Р а боч и е и нст рументы
В этой главе подробно описываются некоторые из наиболее употребительных
и нструментов для программирования на языке оболочки, в том числе команды
cut, pa s te, s ed, t r, g rep, un i --">
- 1
- 2
- 3
- 4
- . . .
- последняя (82) »
Книги схожие с «Программирование командных оболочек в Unix, Linux и OS X» по жанру, серии, автору или названию:
Чаз Эмерик, Брайен Карпер, Кристоф Гранд - Программирование на Clojure: Практика применения Lisp в мире Java Жанр: Базы данных Год издания: 2013 |
Виктор Николаевич Шакин, Анна Викторовна Загвоздкина, Георгий Константинович Сосновиков - Объектно-ориентированное программирование на Visual Basic в среде Visual Studio .NET Жанр: Базы данных Серия: Среднее профессиональное образование |