Авторизация



Написание сценариев и программ оболочек

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

Оценить
(0 голоса)
В настоящей главе рассматриваются следующие темы экзамена: Знание оболочек операционной системы Solaris ►    Понимание фундаментальных основ программирования в среде оболочек, или командных процессоров, представляет собой один из ключевых аспектов эффективной работы системного администратора. Командный процессор - интерфейс между вами и операционной системой Solaris 8; следовательно, это один из тех инструментов, которым необходимо владеть профессионально. В частности, вам необходимы следующие знания по оболочкам операционной системы Solaris: ►    Как выбрать оболочку, или командный процессор, для использования. Операционная среда Solaris предоставляет большой выбор оболочек. В качестве системного администратора вам необходимо будет принять обоснованное решение относительно того, какие именно командные процессоры будут применять пользователи…
Оценить
(0 голоса)
Сценарий - это последовательность команд UNIX, либо оформленная в виде файла, либо набираемая в командной строке, которая выполняет различные операции. Такие файлы в некоторых системах известны также под названием пакетных файлов. Другим термином для обозначения сценария, который возможно более привычен вам, является макрос. Обычно сценарий или макрос обозначает простую последовательности команд, в то время как под программой оболочки подразумевается некоторый файл, содержащий более сложную упорядоченную совокупность команд. Программы командного процессора используют встроенные в оболочку команды управления и условных переходов, они будут рассматриваться далее в настоящей главе. Чтобы запустить некоторый файл в качестве сценария, вы должны установить исполнительный бит данного файла,…
Оценить
(0 голоса)
Выбор оболочки для использования Оболочка регистрации - это командный интерпретатор, который запускается, когда вы регистрируетесь в системе. Операционная среда Solaris 8 предлагает три общеизвестных командных процессора:  Командный процессор Bourne (/sbin/sh). Принятая по умолчанию оболочка. Это командный интерпретатор, который исполняет команды, считываемые с терминала или из файла.  Командный процессор С (/bin/csh). Это командный интерпретатор, синтаксис которого подобен синтаксису языка программирования С. Командный процессор С предоставляет несколько удобных функций для интерактивного применения, которые недоступны в среде командного процессора Bourne, включая завершение имени файла (возможность набрать команду не полностью), использование псевдонимов команд, подстановка истории (протокола команд).  Командный процессор Korn (/bin/ksh). Это командный интерпретатор,…
Оценить
(0 голоса)
Переменная представляет собой имя, которое относится к некоторой области временного хранения данных в памяти. Переменной присваивается некоторое значение, такое как текстовая строка или число, это значение может быть изменено в любое время. Командный процессор Bourne использует два типа переменных для хранения значений: локальные переменные и переменные окружения. Каждый из этих двух типов переменных описывается в настоящей главе. Переменная либо представляет собой набор из нескольких конкретных значений, либо объявляется как "неустановленная" ("unset"), это означает, что она не существует как переменная. Переменные командного процессора являются составной частью программирования в среде оболочек. Переменная командного процессора предоставляет возможность хранить информацию и манипулировать ею внутри…
Оценить
(0 голоса)
К сожалению, другие программы также используют многие специальные символы, применяемые командным процессором - просто этих символов явно недостаточно. Если в среде оболочки используются специальные символы, перечисленные в таблице 12.2, они должны быть заключены в кавычки. Взятие в кавычки требуется в тех случаях, когда присваиваемое значение содержит какой-нибудь специальный символ, пробелы, символы табуляции или новой строки. Без кавычек эти специальные символы будут интерпретироваться как метасимволы командного процессора вместо того, чтобы передаваться в программы в качестве аргументов. Три метода применения кавычек в среде командного процессора Bourne описываются в таблице 12.2. Не следует путать обратную кавычку с одиночной кавычкой. Обратная кавычка (back tick)…
Оценить
(0 голоса)
Некоторые символы, естественно, действуют как разделители в среде командного процессора Bourne. Когда такие символы появляются, они разделяют одно логическое слово от следующего. Символы, перечисленные в таблице 12.3, имеют специальный смысл для командного процессора и, если они не заключены в кавычки, вызывают завершение.
Оценить
(0 голоса)
Для отображения значения переменной введите следующую строку в ответ на приглашение командной строки (знак доллара информирует командный процессор о том, что следующее имя относится к переменной): На экране отображается следующая строка: bill calkins Переменные, которые вы устанавливаете, являются локальными для текущего командного процессора, если только вы не пометили их для экспортирования. Переменные, помеченные для экспортирования, называются переменными окружения, и они будут доступны любым командам, созданным данной оболочкой. Приведенная команда помечает переменную ВС для экспортирования: Вы можете вывести список локальных переменных, выдав команду set. Вы можете вывести список переменных, помеченных для экспортирования, выдав команду env. Командный процессор Bourne имеет несколько предопределенных…
Оценить
(0 голоса)
Важным является порядок перечисления каталогов в маршруте поиска. Когда идентичные команды существуют в различных каталогах, то используется первая найденная команда с заданным именем. Например, предположим, что переменная PATH определяется для пользователя с именем jean (в синтаксисе командных процессоров Bourne и Когп) следующим образом: PATH=/bin:/usr;bin:/usr/ sbin:$HOME/bin. А файл команды, который имеет имя sample, находится в каталогах /usr/bin и / home/jean/bin. Если пользователь вводит команду, не определив для нее полного имени маршрута, то используется версия этой команды, найденная в каталоге /usr/bin.
Оценить
(0 голоса)
Такие команды используются в программах командного процессора для принятия решений и добавления к выполняемой задаче развитых логических возможностей. Встроенные команды оболочки Bourne перечисляются в таблицах 12.5 и 12.6. Более подробная информация по встроенным командам, которые описываются в таблице 12.5, доступна на страницах оперативного руководства по операционной системе Solaris. Условные выражения командного процессора, перечисленные в таблице 12.6, описываются далее в настоящей главе. Каждый командный процессор имеет свой собственный набор встроенных команд, при этом набор встроенных команд оболочки Bourne является минимальным. Именно поэтому данный командный процессор является самым маленьким и самым быстрым среди трех вышеупомянутых.
Оценить
(0 голоса)
В дополнение к встроенным командам, которые были перечислены в таблицах 12.5 и 12.6, в оболочке Bourne имеется также несколько простых условных выражений. Условная команда осуществляет некоторый выбор в зависимости от исхода условия. Примерами простых условных выражений являются && и ||, которые, наряду с условными выражениями if и case, будут рассматриваться в настоящем разделе.
«ПерваяПредыдущая123СледующаяПоследняя»
Навигация