首先,这是个奇怪的需求。。。但是遇到了。我参考后文链接里的方法,做了自己的。
表是自己手动建的,数据库名字叫 new.db:
create table test (sn varchar(), name varchar());
那么,就开始在 shell 下工作了。首先是组装我们的 query:
query="insert into test values(\"1\",\"luo\");"
然后,指定数据库:
sqlitedb="sqlite3 new.db"
接着,把准备好的 query 送给数据库:
$sqlitedb <<EOF
$query
.quit
EOF
其实,这里只是把数据库打开,然后把两个 EOF 之间的几行文字送给 sqlite3 的标准输入。这里的 .quit 好像可要可不要,先留着。
取数据类似,我使用下面这句做了尝试:
result=$($sqlitedb <<EOF
$query
.quit
EOF
)
执行完这一句,打印 result:
echo $result
|luo |zhou
很明显,这样是可行的。
http://blog.csdn.net/wangbole/article/details/8062529