bash - SQLite,bash脚本和串联运算符

标签 bash sqlite

我有一个SQLite数据库stuff.db(带有TABLE注释(ID INTEGER PRIMARY KEY,timeStamp DATE,注释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\");'


而且,我当然收到一条错误消息。
我应该如何进行?

提前致谢

G

最佳答案

如果像您一样使用单引号将Shell变量括起来,它们将不会扩展。也许您想要:

sqlite3 script.db "insert into notes (note) values (\"Stuff happens.\"||\"$Str1\");"


附言
我假设||是sqlite3语法的一部分,因为它当然不是bash,至少在这种情况下不是。如果那不对,请通知我。

关于bash - SQLite,bash脚本和串联运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4458986/

相关文章:

Bash,使用文件描述符覆盖?

linux - Bash 脚本变量行为异常

file - Zend_Cache_Backend_Sqlite 与 Zend_Cache_Backend_File

sqlite - 你能用 AM/PM 将 24 小时时间字符串格式化为 12 小时时间字符串吗?

c# - 难以在 C# 中的 SQLite 数据库上运行并发 INSERTS

python - systemd 服务无法启动 bash 脚本

linux - 获取从 find 命令到变量的路径

c# - OrmLite : SQLiteExceptionSQL logic error or missing database near ")": syntax error

linux - 使 bash 区分 Ctrl-<letter> 和 Ctrl-Shift-<letter>

android - 在 Android 应用程序上为 "offline viewing"的在线服务保留用户数据