Введение
Сценарии оболочки являются фундаментальной частью среды программирования OS X. Как повсеместная функция UNIX и подобных UNIX операционных систем, они представляют способ записать определенные типы инструментов командной строки в пути, работающем над довольно широким спектром вычислительных платформ.
Поскольку сценарии оболочки записаны на интерпретируемом языке, питание которого прибывает из выполнения внешних программ для выполнения задач обработки, их производительность может быть несколько ограничена. Однако, потому что они могут выполниться без любого дополнительного усилия в почти любой современной операционной системе, они представляют мощный инструмент для начальной загрузки других технологий. Например, autoconf
инструмент, используемый для конфигурирования программного обеспечения до компиляции, является рядом сценариев оболочки.
Если Вы интересуетесь изучением основ сценариев оболочки, необходимо считать этот документ. Этот документ предполагает, что у Вас уже есть некоторое основное понимание по крайней мере одного языка процедурного программирования, такого как C. Это не предполагает, что Вы имеете очень много знания команд, выполняемых от терминала, тем не менее, и таким образом должны быть читаемыми, даже если Вы никогда не запускали Терминальное приложение прежде.
Методы в этом документе не являются определенными для OS X, несмотря на то, что этот документ действительно отмечает различные причуды определенных утилит командной строки в различных операционных системах. В частности это включает информацию о некоторых случаях, где версии OS X утилит командной строки ведут себя по-другому, чем другие обычно доступные версии, такие как эквиваленты GNU, обычно используемые в Linux и некоторых системах BSD.
Этот документ не предназначается, чтобы быть полной ссылкой для сценариев оболочки, как таковых, предмет мог заполнить все библиотеки. Однако это предназначается для предоставления достаточной информации для получения Вас, начал писать и постигать сценарии оболочки. По пути это обеспечивает ссылки к документации для различных дополнительных инструментов, которые можно счесть полезным при записи сценариев оболочки.
Для Вашего удобства многие сценарии в этом документе также включены в “Сопутствующий архив Zip” Файла. Можно найти этот архив в области заголовка при просмотре этого документа в HTML-форме на developer.apple.com веб-сайте.
Организация этого документа
Этот документ организован как серия тем. Эти темы могут быть считаны линейно как учебное руководство, но также организованы с намерением быть справочником на ключевых предметах.
Перед началом — объясняет, как получить командную строку в OS X и других операционных системах, обеспечивает указатели на документацию об использовании командной строки в интерактивном режиме и обеспечивает полезные подсказки командной строки (такой как, как ввести управляющие символы).
Основы Сценария оболочки — представляют фундаментальные понятия сценариев оболочки, включая переменные, проверьте утверждения, файловый ввод-вывод, каналы, перенаправление и обработку параметра.
Подпрограммы, Определение объема и Определение источника — описывают, как получить коды результата из внешних исполнимых программ, как записать и вызвать подпрограммы, переменная подпрограммы определяющие объем правила, как включать один сценарий оболочки в другом (определение источника), и как использовать управление заданиями для выполнения задач в фоновом режиме.
Краска Числами — объясняет, как использовать целочисленную математику в сценариях оболочки. Этот раздел также объясняет, как использовать
bc
утилита командной строки или Perl для обработки более сложной математики, такой как вычисления с плавающей точкой.Освобожденные Регулярные выражения — описывают основные и расширенные регулярные выражения и как использовать их. Этот раздел также описывает различия между этими диалектами регулярного выражения и диалектом, поддерживаемым Perl, и показывает, как использовать регулярные выражения Perl посредством встроенных сценариев.
Как Неловкий — объясняет команду AWK, обеспечивающую управляемый данными язык программирования на основе регулярных выражений и табличных данных.
Разработка Сценариев для Межплатформенного Развертывания — описывает основные отличия в средах сценариев оболочки, предоставленных различными операционными системами, и обеспечивает подсказки для записи переносимых сценариев.
Усовершенствованные Методы — показывают Вам, как моделировать структуры данных и указатели, выполнить неблокирование I/O, запишите циклы синхронизации, захватите сигналы, используйте специальные встроенные переменные оболочки, составьте разработанный текст с помощью цвета ANSI и форматируя команды, найдите абсолютный путь сценария, используйте
osascript
управлять графическими приложениями и использовать дескрипторы файлов и именованные каналы для обработки инструментов командной строки как фильтров.Настройка производительности — описывает методы для улучшения производительности сложных сценариев.
Другие Инструменты и информация — обеспечивают основную сводку различных команд, которые могут быть полезны для разработчиков сценария оболочки, включая ссылки к документации OS X для каждого из них.
Начальные точки — обеспечивают несколько демонстрационных сценариев оболочки и отрывков, автоматизирующих реальные задачи. Это приложение также обеспечивает ссылки к другим полным примерам в другом месте в книге.
Экстремальный Пример: Монте-Карло (Граница) Метод для Пи — обеспечивает сложный пример, чтобы продемонстрировать питание сценариев оболочки (медленно) выполнять сложные задачи. Пример кода показывает реализацию сценария оболочки Метода Монте-Карло для приближения значения Пи. Пример кода использует в своих интересах много числовые и строковые методы обработки, описанные в предыдущих главах. Путем показа некоторых из тех же вычислений, записанных многократными способами, это также иллюстрирует, почему это часто выгодно, мудро производительностью, для встраивания сценариев, записанных в другие языки, такие как Perl или AWK при пробовании выполнить задач, удовлетворяющих тем языкам лучше.
Счастливые сценарии!