我尝试使用以下命令通过终端(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/