我有一个SQLite数据库,stuff.db(带有TABLE备注(id INTEGER PRIMARY KEY,timeStamp DATE,note TEXT);)。 timeStamp会自动触发。
我想从命令行快速填充它。
所以,我写了一个名为bashscript1的脚本:
sqlite3 script.db 'insert into notes (note) values ("Stuff happens.");'
但我希望将这句话作为标准条目,如果有必要,更准确:我想添加变量信息,例如:“Foo进入房间。”或者“酒吧打个电话。”我们的想法是将这些字符串连接起来,然后:“东西发生了.Foo进入房间。”或者“东西发生了。酒吧打个电话。”
所以我重写了剧本:
echo "Do you want to add somme text ?"
read Str1
sqlite3 script.db 'insert into notes (note) values ("Stuff happens."||\"$Str1\");'
当然,我收到了一条错误消息。 我该怎么办?
提前致谢
ThG的长度
答案 0 :(得分:2)
尝试:
sqlite3 script.db "insert into notes (note) values ('Stuff happens.$Str1');"
请注意,如果您的$Str1
包含单引号,则会中断。
答案 1 :(得分:1)
Shell变量在包含在单引号中时不会扩展。也许你想要:
sqlite3 script.db "insert into notes (note) values (\"Stuff happens.\"||\"$Str1\");"
P.S。
我假设||
是sqlite3语法的一部分,因为它肯定不是bash,至少不是在那个上下文中。如果那不对,请告诉我。