2016-04-05 458 views
0

こんにちは私はoracleスキーマをリフレッシュするスクリプトを作成しています。スキーマをバックアップしようとしているうちに、私は以下のエラーを受けていました。LRM-00116: 'DIRECTORY'に '='の後に構文エラーがあります

どこでも検索しましたが、誰もこの同じ正確なエラーを抱えているようです。アドバイスはありますか?明らかに間違っていないしているが、間違いは私が入力をユーザーに求めるために別の関数を作った -

#!/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 
+0

あなたは素晴らしい小さな質問です。元のコードを見ると、 '$ srcSCHEMA'は正しくスペルされ、スペース以上で埋められていますか? –

+0

問題が見つかりました – user6027133

答えて

0

[OK]を最終的に私は私が入力することをユーザに促すことにより、変数を設定して、私の間違いだったかを調べます。これは、ユーザーが変数になる値を入力したときに、その変数のスコープがその関数にローカルにとどまっているため、他の関数では使用できないことを意味します。関数からユーザープロンプトを削除すると、問題が解決されます。

関連する問題