批处理sqlite命令行导入时出现错误

时间:2013-02-28 08:23:07

标签: macos bash error-handling sqlite

我尝试使用以下命令通过终端(OSX ML)创建数据并将数据导入sqlite文件:

sqlite3 test.sqlite < /importsql.sql

这很好用,但是当importsql.sql出错时,如何捕获错误并停止脚本?

现在错误将作为输出打印,但我找不到捕捉错误的方法......

这可能吗?

问候, 马修

1 个答案:

答案 0 :(得分:1)

抓住输出是第一部分:

sqlite3 test.sqlite < /importsql.sql 1>importsql.log 2>importsql.errors

1>重定向标准输出,2>重定向通常会出现标准错误的任何内容。

停止脚本应该像以下一样简单:

sqlite3 test.sqlite < /importsql.sql 1>importsql.log 2>importsql.errors || exit $?

||之后的任何内容只有在对sqlite3的调用失败时才会执行。 $?sqlite3的退出代码。

如果您想在脚本中添加更多报告,可能会发现this answer有帮助。