嵌入在linux脚本中的SQLPLUS无法按预期工作

嵌入在linux脚本中的SQLPLUS无法按预期工作,linux,oracle,sh,sqlplus,Linux,Oracle,Sh,Sqlplus,我在Linux脚本中有以下脚本段: sqlplus / <<QUERY_1 UPDATE BATCH_FILE SET BATCH_ID = 0 WHERE BATCH_ID = -1; COMMIT; exit QUERY_1 sqlplus/ 此处文档的输出用于sqlplus的std输入,但对于shell而言,命令应位于单行。添加反斜杠将使shell忽略行

我在Linux脚本中有以下脚本段:

sqlplus /
<<QUERY_1
                    UPDATE BATCH_FILE SET BATCH_ID = 0 WHERE BATCH_ID  = -1;
                    COMMIT;
                    exit

QUERY_1
sqlplus/

此处文档的输出用于sqlplus的std输入,但对于shell而言,命令应位于单行。添加反斜杠将使shell忽略行结束,将两个物理行合并为一个逻辑行:


sqlplus/\

也许斜杠应该是反斜杠?我试过带或不带斜杠的退出;我认为没有可能是正确的,因为没有;从交互式命令执行时需要prompt@wildplasser-正斜杠是正确的。它表示连接操作系统身份验证。啊哈,这是斯科特/老虎的空形式!在这种情况下,也可以添加一个反斜杠。否则,HERE文档的输出将丢失其目标。(sqlplus可能会以交互模式结束)
sqlplus / \
<<QUERY_1
                    UPDATE BATCH_FILE SET BATCH_ID = 0 WHERE BATCH_ID  = -1;
                    COMMIT;
                    exit

QUERY_1
sqlplus / <<QUERY_1
                    UPDATE BATCH_FILE SET BATCH_ID = 0 WHERE BATCH_ID  = -1;
                    COMMIT;
                    exit

QUERY_1