русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сценарии оболочки


Дата добавления: 2015-07-09; просмотров: 714; Нарушение авторских прав


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

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

Для файлов сценариев оболочки Bash принято устанавливать расширение .sh.

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

r Имя файла сценария можно указать в качестве аргумента командной стро- ки при явном запуске исполняемого файла оболочки, например, bash. В этом случае файл сценария должен быть доступен для чтения.

r Если в сценарии содержится неявный вызов оболочки, а файл сценария доступен для чтения и исполнения, то сценарий можно запустить так же, как и обычные системные команды.

Далее приведен пример запуска сценария путем явного вызова оболочки и указания имени сценария в качестве аргумента (пример 10.1).


 

Пример 10.1. Запуск сценария с явным вызовом оболочки

 

$ bash myscr1.sh Privet!

 

При отладке сценариев исключительно важны опции -v и -x bash. Опция

-v переводит оболочку в режим подробного информирования о работе. В этом режиме отображаются команды сценария перед их интерпретацией. Опция -x отображает результаты интерпретации команд. При неявном указа- нии оболочки в первой строке сценария должна находиться строка с полным именем исполняемого файла оболочки (пример 10.2).

 

Пример 10.2. Неявный вызов оболочки

 

$ cat myscr1.sh

#!/bin/bash echo 'Privet!'

 

Строка #!/bin/bash указывает, с помощью какой оболочки должен быть ин- терпретирован и выполнен сценарий.



Запуск сценария при неявном вызове оболочки возможен, если на файл сце- нария имеются разрешения для чтения и исполнения (пример 10.3).

 

Пример 10.3. Установка прав на исполнение сценария

 

$ chmod a+rx myscr1.sh

$ ./myscr1.sh Privet!

 

Обратите внимание на то, что нахождение исполняемого файла в текущем каталоге не означает возможности его запуска без указания пути к нему. При отсутствии имени текущего каталога в переменной PATH имя текущего ката- лога (точка) должно быть указано в пути к файлу сценария — ./.

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


 

При необходимости выполнения сценария в контексте вызывающего сцена- рия (оболочки) нужно использовать inline-подстановку (пример 10.4).

 

Пример 10.4. Использование inline-подстановки

 

$ . .bashrc

 

Команда "точка" является inline-подстановкой. В примере 10.4 содержимое файла сценария .bashrc будет выполнено в контексте вызывающей оболочки.

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

 

Пример 10.5. Установка значений переменных из файла

 

$ cat myscr2rc VAR1='Snova Privet!'

$ cat myscr2.sh

#!/bin/bash

. myscr2rc echo $VAR1

$ ./myscr2.sh Snova Privet!

 

В примере 10.5 в коде сценария myscr2.sh была выполнена inline-подстановка содержимого файла myscr2rc, в котором была установлена переменная VAR1.



<== предыдущая лекция | следующая лекция ==>
ЗАДАНИЯ | Использование переменных оболочки


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.673 сек.