Искусство программирования на языке сценариев командной оболочки

Искусство программирования на языке сценариев командной оболочки

Мендель Купер

Описание

Данное руководство по программированию на языке сценариев командной оболочки предназначено для начинающих и опытных пользователей UNIX. Оно не требует предварительных знаний в области программирования на языке сценариев, шаг за шагом раскрывая мудрость и красоту UNIX. Руководство, написанное Менделем Купером, содержит множество хорошо прокомментированных примеров, демонстрирующих практическое применение команд и утилит. Идеально подходит для самостоятельного изучения или как справочник. Книга идеально подходит для задач администрирования системы, где shell-скрипты незаменимы. Узнайте, как создавать мощные и эффективные сценарии для автоматизации задач и оптимизации работы с UNIX.

<p>Искусство программирования на языке сценариев командной оболочки</p>

Данное руководство не предполагает наличие у читателя познаний в области программирования на языке сценариев, однако, быстро восполняет этот недостаток, постепенно, шаг за шагом раскрывая мудрость и красоту UNIX. Это руководство может рассматриваться как учебник, предназначенный для самостоятельного изучения или как справочник по программированию на shell. Руководство снабжено серией хорошо прокомментированных примеров, поскольку лучший путь к изучению языка сценариев -- это написание сценариев.

Advanced Bash-Scripting Guide

Автор: Мендель Купер (Mendel Cooper thegrendel@theriver.com)

Перевод: Андрей Киселев

Посвящения

Посвящается Аните -- источнику очарования

<p><strong>Часть 1. Введение</strong></p>

Shell -- это командная оболочка. Но это не просто промежуточное звено между пользователем и операционой системой, это еще и мощный язык программирования. Программы на языке shell называют сценариями, или скриптами. Фактически, из скриптов доступен полный набор команд, утилит и программ UNIX. Если этого недостаточно, то к вашим услугам внутренние команды shell -- условные операторы, операторы циклов и пр., которые увеличивают мощь и гибкость сценариев. Shell-скрипты исключительно хороши при программировании задач администрирования системы и др., которые не требуют для своего создания полновесных языков программирования.

<p><strong>Глава 1. Зачем необходимо знание языка Shell?</strong></p>

Знание языка командной оболочки является залогом успешного решения задач администрирования системы. Даже если вы не предполагаете заниматься написанием своих сценариев. Во время загрузки Linux выполняется целый ряд сценариев из /etc/rc.d, которые настраивают конфигурацию операционной системы и запускают различные сервисы, поэтому очень важно четко понимать эти скрипты и иметь достаточно знаний, чтобы вносить в них какие либо изменения.

Язык сценариев легок в изучении, в нем не так много специфических операторов и конструкций. [ 1 ]Синтаксис языка достаточно прост и прямолинеен, он очень напоминает команды, которые приходится вводить в командной строке. Короткие скрипты практически не нуждаются в отладке, и даже отладка больших скриптов отнимает весьма незначительное время.

Shell-скрипты очень хорошо подходят для быстрого создания прототипов сложных приложений, даже не смотря на ограниченный набор языковых конструкций и определенную "медлительность". Такая метода позволяет детально проработать структуру будущего приложения, обнаружить возможные "ловушки" и лишь затем приступить к кодированию на C, C++, Java, или Perl.

Скрипты возвращают нас к классической философии UNIX -- "разделяй и влавствуй" т.е. разделение сложного проекта на ряд простых подзадач. Многие считают такой подход наилучшим или, по меньшей мере, наиболее эстетичным способом решения возникающих проблем, нежели использование нового поколения языков -- "все-в-одном", таких как Perl.

Для каких задач неприменимы скрипты

для ресурсоемких задач, особенно когда важна скорость исполнения (поиск, сортировка и т.п.)

для задач, связанных с выполнением математических вычислений, особенно это касается вычислений с плавающей запятой, вычислений с повышенной точностью, комплексных чисел (для таких задач лучше использовать C++ или FORTRAN)

для кросс-платформенного программирования (для этого лучше подходит язык C)

для сложных приложений, когда структурирование является жизненной необходимостью (контроль за типами переменных, прототипами функций и т.п.)

для целевых задач, от которых может зависеть успех предприятия.

когда во главу угла поставлена безопасность системы, когда необходимо обеспечить целостность системы и защитить ее от вторжения, взлома и вандализма.

для проектов, содержащих компоненты, очень тесно взаимодействующие между собой.

для задач, выполняющих огромный объем работ с файлами

для задач, работающих с многомерными массивами

когда необходимо работать со структурами данных, такими как связанные списки или деревья

когда необходимо предоставить графический интерфейс с пользователем (GUI)

когда необходим прямой доступ к аппаратуре компьютера

когда необходимо выполнять обмен через порты ввода-вывода или сокеты

когда необходимо использовать внешние библиотеки

Похожие книги

1С: Бухгалтерия 8 с нуля

Алексей Анатольевич Гладкий

Овладейте программой 1С:Бухгалтерия 8 с помощью этого исчерпывающего руководства. Книга детально описывает все аспекты работы с программой, от ввода данных до формирования отчетов. Вы научитесь автоматизировать основные участки бухгалтерии: учет наличных и безналичных средств, основных средств, товарно-материальных ценностей, зарплаты и производства. Подробные уроки с примерами помогут вам быстро освоить все функции программы. Эта книга – ваш надежный помощник в освоении 1С:Бухгалтерия 8.

1С: Управление торговлей 8.2

Алексей Анатольевич Гладкий

Современные торговые предприятия сталкиваются с огромным количеством задач: управление широким ассортиментом товаров, различными условиями продаж (предоплата, скидки), категориями клиентов (VIP, постоянные), складскими операциями, сертификацией и инвентаризацией. Эта книга посвящена автоматизации торговой деятельности с помощью популярного программного продукта "1С: Управление Торговлей 8.2". Вы узнаете, как эффективно использовать возможности программы для управления запасами, закупками, продажами, финансами и маркетингом. Подробно рассматриваются функциональные возможности, особенности работы с информационными базами и пользовательским интерфейсом. Идеальное руководство для начинающих пользователей, стремящихся освоить работу с программой "1С: Управление Торговлей 8.2" и повысить эффективность своего бизнеса.

200 лучших программ для Интернета. Популярный самоучитель

Илья Краинский

Эта книга – ваш путеводитель в мир программ для Интернета. Вы узнаете о широком спектре утилит, от почтовых клиентов до браузеров, менеджеров загрузок и антивирусных программ. Познакомьтесь с альтернативами стандартным приложениям Windows, которые помогут вам эффективно использовать Интернет для общения, поиска информации, скачивания файлов и многого другого. Узнайте, как оптимизировать свою работу в Сети, защитить свой компьютер от угроз и использовать дополнительные сервисы Интернета. Книга содержит подробные описания программ, их функциональные возможности и практические советы.

300 лучших программ на все случаи жизни

Виталий Петрович Леонтьев, Виталий Леонтьев

Эта книга – ваш надежный гид в мире программного обеспечения. Она содержит обзор 300 лучших программ, охватывающих широкий спектр задач: от офисных приложений до системных утилит, графики, музыки, видео, обработки звука, браузеров, почты и антивирусов. В книге вы найдете подробные описания, сравнения и рекомендации по выбору программ, что поможет вам найти оптимальное решение для любой задачи. Книга предназначена для пользователей с разным уровнем опыта, от новичков до профессионалов. Она поможет вам эффективно работать на компьютере, используя самые актуальные и полезные программы.