【发布时间】:2021-11-13 22:39:37
【问题描述】:
在我的 bash 脚本中
my_query="\'select uid from lastlog;\'"
如果我那么写
sqlite test.db ${my_query}
我得到了错误
/usr/bin/sqlite3: Error: too many options: "uid"
转义引号的正确方法是什么?
【问题讨论】:
标签: sql bash sqlite escaping quotes
在我的 bash 脚本中
my_query="\'select uid from lastlog;\'"
如果我那么写
sqlite test.db ${my_query}
我得到了错误
/usr/bin/sqlite3: Error: too many options: "uid"
转义引号的正确方法是什么?
【问题讨论】:
标签: sql bash sqlite escaping quotes
以您的示例和echo 为例,它清楚地表明了问题。
$ my_query="\'select uid from lastlog;\'"
$ echo $my_query
\'select uid from lastlog;\'
由于您的变量已被引用,因此无需转义嵌套的单引号。
$ my_query="'select uid from lastlog;'"
$ echo $my_query
'select uid from lastlog;'
【讨论】:
有人写了以下答案:
my_query='select uid from lastlog;'
sqlite test.db "${my_query}"
但随后几乎立即将其删除,但幸运的是我看到了它并且它对我有用。
【讨论】: