以下のようなスクリプトがあります。私は、スクリプトを実行するとbashスクリプトで変数をsqlplusに渡す方法
#!/bin/bash
year=`date +%Y`
month=`date +%m`
day=`date +%d`
prefixe=$month$day$year
logfile="/home/oracle/logs/exec_proc_daily_20_"$prefixe.log
sqlplus/"as sysdba" <<EOF
spool on
spool $logfile
execute Proc_RFC_MAJ_MV_ITIN;
execute Proc_RFC_MAJ_MV_REFGEO;
commit;
quit
EOF
は、spool $logfile
がエラーを与える:私の目標は、ファイル名やスプールなどのファイルに現在の日付と時刻と終了のログファイルへの書き込みです。ログは作成されません。しかし、私はspool exec_proc_daily_2o.log
のようなものを使うとうまくいきます。変数$logfile
がなぜ置き換えられないのですか?
を交換します'sqlplus /" as sysdba "'を 'cat'とし、あなたのスクリプトを実行すると、変数replacementが_is_が期待どおりに動作していることが示唆されます... – Stygies