0

我有一个 .body、.script 和 .sql,我想将它们压缩成一个脚本,但我不知道该怎么做。

.body 包含电子邮件消息。

.sql 将数据假脱机到 .csv:

.script 运行 .sql,并发送带有附件的电子邮件Report.zip

sqlplus $user/$pass@$db @script.sql

(cat script.body; uuencode Report.zip Report.zip) | mail -s "Report" user@domain.com -- -f no-reply@domain.com

是否有可能这(包括 SQL)都可以在一个 BASH 脚本中完成?

4

1 回答 1

1

If you can just pass the script into the stdin of sqlplus you can do:

sqlplus $user/$pass@$db << END
<contents of sql script here>
END

(cat script.body; uuencode Report.zip Report.zip) | mail -s "Report" user@domain.com -- -f no-reply@domain.com

if you still want stdin (useful if it might ask for a password or something) and assuming sqlplus won't try anything with the script file you can do:

sqlplus $user/$pass@$db START <(cat << END
<contents of sql script here>
END)

(cat script.body; uuencode Report.zip Report.zip) | mail -s "Report" user@domain.com -- -f no-reply@domain.com
于 2013-09-10T08:49:38.147 回答