用bash脚本插入多行到一个sqlite列

我试图插入一个值到我的sqlite数据库由多行和特殊字符组成。

例如:

{ "foo"="$BAR" } 

我一直在使用sqlite3命令,但我不知道如何得到这个。

同样在我的bash脚本中,我还有像$BAR这样的variables需要被parsing。

更新的命令(带有样本variables)

 API=2039470928570983 USERNAME=Admin PASSWORD=PASSWORD sqlite3 /home/xbmc/test.db "INSERT INTO DownloadClients VALUES (1,1,Sabnzbd,Sabnzbd,'{"host": "localhost", "port": 8085, "apiKey": "$API", "username": "$USERNAME", "password": "$PASSWORD", "tvCategory": "tv", "recentTvPriority": 1, "olderTvPriority": -100, "useSsl": false}', SabnzbdSettings)" 

我现在得到Error: no such column: Sabnzbd我曾尝试列出VALUES运算符之前的列名称,但我得到了同样的错误。

试试这个

 sqlite3 test.db "INSERT INTO table VALUES (1,1,Sabnzbd,Sabnzbd,q'{"host": "localhost", "port": 8085, "apiKey": "$API", "username": "$USERNAME", "password": "$PASSWORD", "tvCategory": "tv", "recentTvPriority": 1, "olderTvPriority": -100, "useSsl": false}', SabnzbdSettings)" 

这样,你将得到$ VARIABLES呈现内部查询,如果仍然抛出错误,你将需要找出一种方法来逃避你试图插入这个JSONstring。

整个string必须在双引号中。 "价值观必须用单引号”。

 sqlite3 /home/xbmc/test.db "INSERT INTO DownloadClients VALUES (NULL,'$USERNAME','Three','Four','{"host": "localhost", "port": 8085, "apiKey": "$API", "username": "$USERNAME", "password": "$PASSWORD", "tvCategory": "tv", "recentTvPriority": 1, "olderTvPriority": -100, "useSsl": false}', 5)"