我有一个.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脚本中完成?
答案 0 :(得分:1)
如果你可以将脚本传递给sqlplus的stdin,你可以这样做:
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
如果你仍然想要stdin(如果它可能要求输入密码或其他东西很有用)并且假设sqlplus不会尝试使用脚本文件做任何事情:
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