我正在創建腳本以從一個數據庫提取數據並使用sql加載器將行插入另一個數據庫。我開發了所有的腳本並編譯在.ksh文件中,並且需要運行該文件,但是在需要設置使用tnsnames.ora文件的環境之前。此前,我一直在給手動setenv命令來設置環境,但我試圖在.ksh文件無法使用.ksh文件在CSH外殼中設置環境
set TNS_ADMIN = /abc/tnsnames.ora; export TNS_ADMIN
使用命令來設置,但環境是沒有得到設置。
我已經開始使用殼牌#!/bin/ksh
但無濟於事。
SHELL = /bin/csh
在extract_script一個Bourne殼衍生物(Korn外殼,擊等)時,'set'命令,當調用如圖所示,設置'$ 1'到'TNS_ADMIN','$ 2'到'='和'$ 3'到'/ abc/tnsnames.ora'。導出爲'TNS_ADMIN'輸出一個空值。你需要使用'TNS_ADMIN =/abc/tnsnames.ora;導出TNS_ADMIN'或'導出TNS_ADMIN =/abc/tnsnames.ora'來設置環境。使用C shell,您可以使用'setenv'來設置環境。一般來說,在C shell中有效的工具在Bash或Korn shell中不起作用,反之亦然。常用的語法是有限的 - 尤其不包括可變設置符號。 –