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

sqlite3 test.sqlite < /importsql.sql

这可以正常工作,但是当importsql.sql有错误时,如何捕获错误并停止脚本?

现在,错误将被打印为输出,但是我没有找到捕获错误的方法...

这可能吗?

问候,
马修

最佳答案

捕获输出是第一部分:

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可能会有所帮助。

关于macos - 在批处理sqlite命令行导入中捕获错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15130702/

10-12 01:30