我尝试使用以下命令通过终端(OSX ML)创建数据并将数据导入sqlite文件:
sqlite3 test.sqlite < /importsql.sql
这很好用,但是当importsql.sql出错时,如何捕获错误并停止脚本?
现在错误将作为输出打印,但我找不到捕捉错误的方法......
这可能吗?
问候, 马修
答案 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有帮助。