Shell-Script

啟動 sqlplus 實用程序並執行查詢、收集輸出的 Shell 腳本

  • February 20, 2020

我正在嘗試這樣做:

在 sample.sh 中:

#!/bin/bash
sqlplus / as sysdba
select * from dual;

就在我執行這個 shell 腳本時,它會打開 sqlplus 實用程序,但它無法執行我編寫的下一行。當我手動退出 sqlplus 時,shell 才會執行剩餘的行,並且我收到錯誤消息,提示“Select * from dual”不是有效命令。

如何讓腳本sqlplus 的上下文中執行 SQL 文本?

要在其中執行 sql 腳本,sqlplus您需要這樣做:

#!/bin/bash
sqlplus / as sysdba <<EOF
select * from dual;
exit
EOF

或者您可以將 sql 命令放入腳本中,如下所示:

# cat a.sql
select * from dual;
exit

並以這種方式執行命令:

#!/bin/bash
sqlplus / as sysdba @a.sql

引用自:https://unix.stackexchange.com/questions/568636