LRM-00116: '=' 后 'DIRECTORY' 处的语法错误

LRM-00116: syntax error at 'DIRECTORY' following '='

您好,我正在创建一个脚本来刷新 oracle 模式。在尝试备份架构时,我不断收到以下错误。

我到处搜索,似乎没有人遇到完全相同的错误。有什么建议吗?

#!/bin/ksh
systemPwd=pwd
srcSID=src
tarSID=tar
srcSCHEMA=A
tarSCHEMA=A

export_source_schema(){
echo
echo -------------------------
echo "EXPORTING SOURCE SCHEMA"
echo -------------------------
expdp system/${systemPwd}@${srcSID} SCHEMAS=${srcSCHEMA} DIRECTORY=EXP_IMP_DIR DUMPFILE=${taskNo}_${srcSID}_${srcSCHEMA}_export.dmp  LOGFILE=${taskNo}_${srcSID}_${srcSCHEMA}_export.log
}

    ./export_schema.ksh 


    -------------------------
    EXPORTING SOURCE SCHEMA
    -------------------------
    LRM-00116: syntax error at 'DIRECTORY' following '='

    ./export_schema.ksh[502]: break: cannot break

好吧,我终于发现了我的错误,我是通过提示用户输入来设置变量的——这显然没有错,但错误是我做了一个单独的函数来要求用户输入。所以这意味着当用户输入一个值成为一个变量时,该变量的范围保持在该函数的本地范围内,因此对其他函数不可用。一旦我从函数中删除用户提示,问题就解决了。