14.3.7. Экспорт переменных в дочерние процессы
14.3.7. Экспорт переменных в дочерние процессы
Для тех, кто только начинает работать с интерпретатором shell, существенное затруднение представляет экспорт переменных в дочерние процессы. Теперь, после рассмотрения основных принципов работы с переменными среды, перейдем к
выполнению практических задач. Ниже приводится пример, сценария, который вызывает другой сценарий. Вызываемый сценарий фактически и является дочерним процессом.
Рассматриваемый листинг включает два небольших сценария под именами father и child. Сценарий father задает переменную с именем film, значение которой "A Few Good Men". Эта переменная отображается на экране, затем вызывается другой сценарий под названием child. Данный сценарий отображает переменную film из первого сценария. Перед отображением на экране значением переменной film становится "Die Hard". Затем управление передается назад, сценарию father, и значение переменной снова выводится на экран.
$ pg father
#!/bin/sh
# сценарий father.
echo "this ls the father"
FILM="A Few Good Men"
echo "I like the film: $FILM"
# вызов сценария child
child
echo "back to father"
echo "and the film ls :$FILM"
$ pg child
#!/bin/sh
# сценарий child
echo "called from father..! am the child"
echo "film name is :$FILM"
FILM="Die Hard"
echo "changing film to :$FILM"
Рассмотрим, что будет отображаться на экране в результате выполнения сценария.
$ father
this ls the father
I like the film :A Few Good Men
called from father… i am the child
film name is :
changing film to :Die Hard
back to father
and the film ls :A Few Good Men
Сценарий child не может возвратить переменную film, поскольку эта переменная не может быть экспортирована в сценарий father.
Теперь, если команду export добавить в сценарий father, сценарий child получит всю информацию о переменной film.
$ pg father
#!/bin/sh
# сценарий father.
echo "this ls the father"
FILM="A Few Good Men"
echo "I like the film :$FILM"
#вызов сценария child
#сначала экспортируйте переменную
export FILM
child
echo "back to father"
echo "and the film is :$FILM"
$ father2
this ls the father
I like the film :A Few Good Men
called from father… i am the child
film name ls :A Few Good Men
changing film to :Die Hard
back to father
and the film ls :A Few Good Men
После того как команда export включена в состав сценария, можно выполнить произвольное число процессов. И всем этим процессам известно о наличии переменной FILM.
Нельзя выполнять экспорт переменных из дочерних процессов в родительский процесс; однако с помощью изменения направления этого можно добиться.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
10.2. Родительские и дочерние объекты
10.2. Родительские и дочерние объекты Согласно правилам языка JavaScript все элементы на веб-странице выстраиваются в иерархическую структуру. Каждый объект является потомком объекта более высокого уровня.Иерархия объектов JavaScript показана на схеме, представленной на
Печать и экспорт
Печать и экспорт Какой бы прекрасной ни была электронная версия документа, иногда все же требуется создать его бумажную копию. Для печати документа применен гибридный подход: при нажатии на иконку с изображением принтера на локальный компьютер скачивается версия
Экспорт
Экспорт Экспорт Таблиц в различные форматы файлов пригодится в случае необходимости показать данные другу, у которого нет Интернета, сохранить их на домашнем компьютере «на всякий пожарный», отправить таблицу по электронной почте… да мало ли для чего еще! Таблицы
Экспорт
Экспорт На данный момент автономная работа над презентациями недоступна, поскольку технология Gears сервисом пока (но только пока!) не поддерживается. А жаль – опция показа слайдов ой как пригодилась бы, к примеру, менеджерам по продажам, отправляющимся в далекий поселок
10.5. Простые дочерние процессы
10.5. Простые дочерние процессы Хотя функции fork(), exec() и wait() позволяют программам в полной мере использовать модель процессов Linux, многим приложениям не нужен такой контроль дочерних процессов. Существуют две библиотечных функции, которые упрощают создание дочерних
4.2.3. Импорт и экспорт
4.2.3. Импорт и экспорт Имея в своем браузере множество ссылок на любимые и просто нужные сайты, совершенно не хотелось бы вносить их заново вручную в закладки Яндекса. Собственно ничего сложного в импорте ссылок из вашего браузера нет, что и было реализовано в этом
Экспорт отчетов Access
Экспорт отчетов Access Приложение Access 2007 предоставляет широкие возможности в области преобразования отчетов. При создании отчета может возникнуть необходимость использования отчета в другом формате данных, в таком случае пользователь может экспортировать отчет из
Экспорт документов
Экспорт документов Команда File ? Export (Файл ? Экспорт) позволяет нам сохранить документ в одном из нескольких графических форматов: EPS, JPEG, SVG, XML. Во всех случаях мы увидим диалоговое окно, в котором сможем выбрать местоположение и имя будущего файла, а также формат,
"Внутренний" экспорт
"Внутренний" экспорт Рассмотрим объявление классаindexingзамечание: "Ошибочное объявление (объяснение см. ниже)"class S6 featurex: S6my_routine is do ... print (x.secret) ... endfeature {NONE}secret: INTEGERend -- class S6Наличие в объявлении класса атрибута x типа S6 и вызова x.secret делает его собственным клиентом. Но такой
Экспорт атрибутов
Экспорт атрибутов В завершение предшествующей дискуссии необходимо обсудить вопрос об экспорте атрибутов. Рассмотренный в этой лекции класс POINT имеет атрибуты x и y и экспортирует их клиентам, также как и функции rho и theta. Для получения значения атрибута некоторого
У11.6 Утверждения и экспорт
У11.6 Утверждения и экспорт Обсудите использование функций в утверждениях, в частности, введение функции correct_index в предусловия программ put и item. Если добавить эту функцию в класс ARRAY, то какой статус экспорта следует ей
Выборочный экспорт
Выборочный экспорт Говоря о наследовании и скрытии информации, нельзя обойти вопрос о выборочном экспорте компонентов. Класс A, выборочно экспортирующий f классу B:class A feature {B, ...}f......делает f доступным в реализации собственных компонентов B. Потомки B, в свою очередь, имеют
Экспорт
Экспорт Разобравшись с публикацией, перейдем к экспорту.Как мы помним, экспорт фильма или изображения Flash отличается от его публикации тем, что файл Flash просто преобразуется в другой, выбранный нами формат. Получившийся файл можно распространять как через Интернет
4.8.4. Экспорт проекта в iTunes
4.8.4. Экспорт проекта в iTunes Созданный проект можно экспортировать в iTunes для последующего добавления его в коллекцию, записи на CD или добавления на слайд презентации. GarageBand позволяет производить экспорт проекта в два формата: ААС или MP3. Формат ААС поддерживает расширенные