result=$(sqlite3 sample.db "SELECT count(*) FROM table WHERE value='sample';")
echo $result
字符串
结果是1
。
由于“数据库已锁定”错误,我更改了代码:
result=$(sqlite3 sample.db "pragma busy_timeout=20000; SELECT count(*) FROM table WHERE value='sample';")
echo $result
型
但现在的结果是:
20000 1
型
我不希望结果中有busy_timeout
值。
我希望结果是1
。
如何通过编辑sqlit3
命令来实现这一点?
2条答案
按热度按时间wtlkbnrh1#
取决于保存在
result
变量中的内容的格式。在当前代码中,我们看到:
字符串
由于变量引用没有用双引号括起来,我们无法判断
sqlite3
是否在两个数字之间放置了空格或换行符。所以,让我们看看解决这两种可能性...变量用双引号括起来,表示数字之间有空格:
型
变量用双引号括起来,数字之间加换行符:
型
另一个允许OP维护当前代码和一个新赋值的选项:
型
测试:
型
gt0wga4j2#
感谢@user4157124
Sqlite3命令必须编辑如下:
第一个月
防止出现数据库被锁定错误,结果变量未与超时值合并。