嗨,我正在创建一个刷新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
好的,最后我发现了我的错误,我通过提示用户输入来设置变量——这显然没有错,但错误是我做了一个单独的函数来请求用户输入。因此,这意味着当用户输入一个变为变量的值时,该变量的范围对该函数来说是局部的,因此其他函数不可用。一旦我从函数中删除了用户提示,这就解决了问题。