我正在执行
#!/bin/bash
PARTITION_LOG=../log/auto_partition.log
PATH=../sql/
cd $PATH
SQL_FILES=`/bin/ls *.sql`
echo "$SQL_FILES"
for File in $SQL_FILES
do
if [ -f $File ]
then
f=$File
fi
$ORACLE_HOME/bin/sqlplus -silent username/password@database << _EOF_ > $PARTITION_LOG
set head on echo off linesize 300 feedback off trim on trimspool on verify off
spool $PARTITION_LOG
@$f
spool off
_EOF_
done
../sql/
包含4个文件
A.sql,B.sql,C.sql,D.sql
我不想执行D.sql
。
上面的代码正在执行所有$ files。
答案 0 :(得分:0)
更改行
SQL_FILES=`/bin/ls *.sql`
到
SQL_FILES=`/bin/ls [^D]*.sql`
应排除D.sql
。