Я создаю скрипт для извлечения данных из одного БД и вставки строк в другой БД с помощью загрузчика sql. Я разработал все скрипты и скомпилировал их в файле .ksh, и мне нужно запустить файл, но прежде чем мне нужно установить среду для использования файла tnsnames.ora. Ранее, я вручную дает команду SETENV установить окружающую среду, но я попытался установить с помощью команды в файле .kshНевозможно установить среду в оболочке CSH с использованием файла .ksh
set TNS_ADMIN = /abc/tnsnames.ora; export TNS_ADMIN
но среда не получает набор.
Я начал использовать оболочку, используя #!/bin/ksh
, но безрезультатно.
SHELL = /bin/csh
в оболочке Bourne производное (Корн оболочки, Bash, и т.д.), то 'set' команды, при вызове, как показано, устанавливает' $ 1 'в 'TNS_ADMIN',' $ 2' на '=' и '$ 3' на'/abc/tnsnames.ora'. Экспорт экспортирует пустое значение для 'TNS_ADMIN'. Вам нужно будет использовать 'TNS_ADMIN =/abc/tnsnames.ora; экспортировать TNS_ADMIN' или 'export TNS_ADMIN =/abc/tnsnames.ora', чтобы установить среду. С оболочкой C вы используете 'setenv' для установки среды. В общем, то, что работает в оболочке C, не будет работать в оболочке Bash или Korn, и наоборот. Общий синтаксис ограничен и не включает в себя, в частности, нотации переменных настроек. –