0

我正在执行

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

上面的代码正在执行所有 $ 文件。

4

1 回答 1

0

换行

SQL_FILES=`/bin/ls *.sql`

SQL_FILES=`/bin/ls [^D]*.sql`

应该排除D.sql.

于 2013-10-01T11:11:03.030 回答