П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 183566 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 83436 раз(а).

Учебник HTML.
Просмотров 77672 раз(а).

Руководство по PHP5.
Просмотров 48491 раз(а).

Хостинг через призму DNS.
Просмотров 55905 раз(а).

Подборка текстов стандартных документов.
Просмотров 47782 раз(а).

Учебник PHP - Самоучитель
Просмотров 54283 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 55422 раз(а).

Внешние атаки...
Просмотров 44809 раз(а).

Учебник PHP.
Просмотров 39754 раз(а).

SSI в примерах.
Просмотров 29874 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





4.4. Экспорт переменных

В ОС UNIX существует понятие процесса. Процесс возникает тогда, когда запускается на выполнение какая-либо команда (расчет).

Например, при наборе на клавиатуре "р <Enter>" порождается процесс расчета "р". В свою очередь "р" может породить другие процессы. Допустим, что "р" вызывает расчеты "р1" и "р2", которые последовательно порождают соответствующие процессы.

У каждого процесса есть своя среда - множество доступных ему переменных. Например, до запуска расчета "р" уже существовала среда, в которой уже были определены некоторые переменные (о стандартных переменных речь пойдет несколько позже). Запуск "р" порождает новую среду; уже в ней будут порождены расчеты "р1" и "р2".

Переменные локальны в рамках процесса, в котором они объявлены, т.е. где им присвоены значения (описание переменных отсутствует - они все одного типа). Для того, чтобы они были доступны и другим порождаемым процессам, надо передать их явным образом. Для этого используется встроенная команда "export".

Пример.

Пусть расчет (командный файл) "p", имеющий вид:

    # расчет p
    echo Расчет p
    varX=0 varY=1
    echo varX=$varX varY=$varY
    export varY
    p1  # вызов расчета p1
    p2  # вызов расчета p2
    echo Снова расчет p: varX=$varX varY=$varY
вызывает командные файлы "p1" и "p2", имеющие вид:
    # расчет p1
    echo Расчет p1
    echo varX=$varX varY=$varY
    varX=a varY=b
    echo varX=$varX varY=$varY
    export varX
    # расчет p2
    echo Расчет p2
    echo varX=$varX varY=$varY
    varX=A varY=B
    echo varX=$varX varY=$varY
    export varY
На экран будут выданы следующая информация:
    Расчет p
    varX=0 varY=1
    Расчет p1
    varX= varY=1
    varX=a varY=b
    Расчет p2
    varX= varY=1
    varX=A varY=B
    Снова расчет p: varX=0 varY=1

Из примера видно, что значения переменных экспортируются только в вызываемые расчеты (и не передаются "вверх" и "вбок"). Экспортировать переменные можно и командой "set" с флагом "-a".

НА ВСЯКИЙ СЛУЧАЙ заметим, что на передачу значений переменных никакого влияния не оказывает "физическое" взаимное расположение (файлов) расчетов в файловой системе.

[Назад] [Содержание] [Вперед]



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту: