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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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".

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

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



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