Как переменные, определяемые пользователем, так и переменные оболочки являются локальными по отношению к процессу, который объявляет их первым. При желании,чтобы эти переменные были доступны какому-то сценарию, который должен выполняться из оболочки при входе в систему, нужно явным образом сделать эти переменные доступными для вызывающей среды дочернего процесса.
Делать значение переменной доступным для дочерних процессов в оболочках Korn и BASH можно с помощью команды export. В оболочке C для этих же целей применяется команда setenv. Ниже приведен пример, показывающий, как с помощью команды export сделать значение переменной доступным для дочернего процесса:
$ export ORACLE_HOME =/u03/app/oracle/product/11.1.0/orcl
Приведенная ниже последовательность позволит добиться тех же результатов, что и предыдущая команда export:
$ ORACLE_HOME =/u03/app/oracle/product/11.1.0/orcl $ export ORACLE_HOME
В оболочке C для установки значения переменной нужно применять команду setenv так, как показано ниже:
$ setenv ORACLE_HOME=/u03/app/oracle/product/10.2.0/orcl
На заметку! Программы и команды UNIX можно выполнять двумя совершенно разными способами — путем входа в систему и непосредственного ввода команд по очереди, что называется интерактивным режимом (interactive mode), и путем выполнения команд или целой программы одновременно, обычно за счет использования исполняемых сценариев оболочки, имеющих в UNIX вид текстовых файлов, что называется пакетным режимом (batch mode).
Знать эти команды крайне важно, если вы собираетесь стать профессиональным администратором баз данных Oracle.