0

私の UNIX シェル スクリプトでは、それを開始するためのパラメーターを挿入する必要があります。このパラメーターは、2 つの値 (テストと本番) を想定できます。コード内で、Oracle データベースに挿入します。この挿入の後、パラメーターがtestスプールを別のファイルに書き込み、データベースに接続しない場合、データベースに接続して通常どおり挿入するという条件を作成する必要があります。基本的には 2 つの方法があります。テストでは、シェルが何をしようとしているのか、そしてそれが通常の挿入と彼の操作を行う生産を確認したいだけです。挿入後にこれを試しましたが、エラーが発生しました:

if [[ "$choice" = "test" ]];
then  
  ${TMP_PART2DAT} > ${TMP_REPORT}
else
  SP_SQLLOGIN="$ORACLE_DB_OWN/$ORACLE_PWD@$ORACLE_SID"
  sqlplus -S -L ${SP_SQLLOGIN} @${TMP_PART2SQL}   
fi 

何か案は?

4

2 に答える 2

1

「bash -x」モードでシェルスクリプトを実行してみてください。コマンドの実行を追跡することができます。

于 2013-07-01T19:09:59.553 に答える
0

試す

cat ${TMP_PART2DAT} > ${TMP_REPORT}

スクリプトの 3 行目。

これにより、TMP_REPORT のすべてが TMP_PART2DAT の内容で上書きされます。

于 2013-07-01T13:59:01.777 に答える