如何通过 bash shell 在 SQLite 中转义字符?

2024-03-25

我正在尝试使用 bash 从命令行向 SQLite 发送查询。我需要转义单引号和双引号,并转义它们,以便 bash 不会误解它们。这是一个典型的查询:

select * from contacts where source = "Nancy's notes";

如何从命令行发送此查询?基本语法是这样的:

sqlite3.bin contacts.db 'select * from contacts where source = "Nancy's notes"'

但在这种情况下,shell 会误解单引号或双引号。我尝试过使用双斜杠和三斜杠进行转义,但这不起作用。我很困惑。有什么建议么?


MarkusQ 解决方案的问题在于知道双引号内哪些字符是特殊的 - 双引号中有很多字符,包括反引号、美元开括号、美元变量等。

我建议最好将字符串括在单引号内;然后,字符串中的每个单引号都需要替换为序列 quote、反斜杠、quote、quote:

sqlite3.bin contacts.db 'select * from contacts
      where source = "Nancy'\''s notes"'

替换中的第一个引号终止当前单引号字符串;反斜杠引号代表一个单引号,最后一个引号开始一个新的单引号字符串。此外,这通常适用于 Bourne、Korn、Bash 和 POSIX shell。 (C Shell 及其衍生版本具有更复杂的规则,需要反斜杠来转义换行符,等等。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 bash shell 在 SQLite 中转义字符? 的相关文章

  • 在powershell中检查文件是否可读且正常

    我是 powershell 新手 我想检查文件是否可读且正常 在 unix 中 我们可以使用 f 和 r 在一行中完成此操作 例如 以下 shell 脚本函数接受文件名作为参数并检查文件的可读性和规律性 与此等效的 powershell 是
  • 使用从 java 程序调用的 Windows 命令提示符将具有多个连续空格的字符串作为参数传递给 jar 文件

    我想使用在另一个java程序中调用的Windows命令提示符将带有多个连续空格的字符串作为参数传递给jar文件 java 文件是这样的 它打印它的所有参数 package src public class myClass public st
  • 列出破折号中当前定义的函数?

    我想列出当前定义的函数dash 有什么办法可以做到这一点吗 我能想到的最接近的是type它可以用来测试一个函数是否存在 但除此之外我很困惑 附 我说的是dash在这里 不是bash or zsh 看看 exec c 似乎没有 没有 表是静态
  • 从 Ruby 运行 shell 命令:在显示输出时捕获输出?

    我有个问题 我想从另一个 ruby 脚本运行一个 ruby 脚本并捕获它的输出信息 同时让它也输出到屏幕上 runner usr bin env ruby print Enter your password password gets ch
  • Mac 上的 cp --parents 选项

    在 Linux 上 我有一个可用于 cp 命令的 parents 选项 因此我可以执行以下操作 cp parents test withintest go rb test2 http www gnu org software coreuti
  • 我应该保留远程数据库的本地副本吗?

    我正在开发一个应用程序 基本上允许人们创建 加入和管理其他人的群组 群组内的人也可以互相发送消息 我一直在想哪条路会更好 保留包含所有信息的远程数据库 包括发送给用户和从用户发送的消息 并让应用程序在每次需要信息时查询服务器 甚至是它以前见
  • 使用 svn diff 时如何获取无上下文

    当我从命令行使用 svn diff 时 它会打印出已更改的行 以及前后 3 个未更改的行以获取上下文 我更喜欢只看到没有上下文的更改行 我无法确定任何命令行选项可以让我让它以这种方式运行 默认情况下 标准 diff 和 cvs diff 执
  • 如何找到查询结果的大小

    我在 Rails 中有以下查询 records Record select y id source where source gt source y id gt y id group y id source having count 1 如
  • 游标在“查询、删除表、创建表、查询相同表名”后返回相同的列

    例如我有一个名为myTable在我的数据库文件中 Android ps它不支持列重命名 删除等 这张表有idx name columns 我想删除并重新创建该表 但使用新列 我是这样做的 db transaction var cursor
  • 将数组传递给函数名称冲突

    Specs GNU bash 版本 3 1 17 无法升级 Premise 我一直在摆弄数组 我想知道是否有任何方法可以让函数的本地变量与所述函数外部的数组同名 Example 在下面的示例中 我将尝试显示该问题 Working bin b
  • 如何将长选项与 Bash getopts 内置一起使用?

    我正在尝试解析 tempBash getopts 的选项 我这样调用我的脚本 myscript temp foo bar someFile 这是我用来解析选项的代码 while getopts temp shots o option do
  • 在 shell 脚本中连接命令字符串

    我正在维护一个现有的 shell 脚本 它将命令分配给 shell 脚本中的变量 例如 MY COMMAND bin command dosomething 然后接下来 它通过执行以下操作将 参数 传递给 MY COMMAND MY ARG
  • 如何使用AWK脚本检查表的所有列数据类型? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在这里 我正在检查表中第一列的数据类型 但我想知道AWK中表的所有列数据类型 我尝试过 但只能获得一列数据类型 例如 Column 1
  • 从SQLite列中获取所有数字字符串并进行总和计算

    我是 Android 和 SQLite 的新手 我在 SQLite 中有一个只有数字的 AMOUNT 列 我可以在 ListView 中显示它 但我无法找到任何我理解的方法来将它们全部添加并显示在 TextView 中 这是数据库助手 im
  • 如何剪切(1) 个驼峰字?

    Bash 中有没有一种简单的方法可以将驼峰式单词拆分为其组成词 例如 我想将 aCertainCamelCasedWord 拆分为 a certain Camel Cased Word 并能够选择我感兴趣的那些字段 当单词分隔符是下划线时
  • 伊迪德信息

    重新定义问题 有什么方法可以获取所连接显示器的序列号吗 我想收集显示器的Eid信息 当我使用 logverbose 选项运行 X 时 我可以从 xorg 0 log 文件中获取它 但问题是 如果我切换显示器 拔出当前显示器 然后插入另一个显
  • 如何将命令作为参数传递给 ssh [重复]

    这个问题在这里已经有答案了 我的需要是让这个命令起作用 sshpass p XXXX ssh oStrictHostKeyChecking no email protected cdn cgi l email protection sudo
  • 如何使 case 语句匹配数字范围?

    我正在运行一个列号范围为 0 50 的开关案例 现在每个案例都支持离散列号 我观察到它的失败 这是代码 i 10 a 1 b 0 65 if a b then case i in 1 2 5 echo Not OK 9 10 12 echo
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 使用 Windows 命令行连接文本文件,删除前导行

    我需要连接一些相对较大的文本文件 并且更喜欢通过命令行来完成此操作 不幸的是我只有Windows 无法安装新软件 type file1 txt file2 txt gt out txt 允许我几乎得到我想要的 但我不希望 file2 txt

随机推荐

  • 验证整数数组

    给定一个整数数组 1 2 3 4 如何使用验证器来检查表中是否存在这些内容 可能没有foreach loop validator Validator make request gt all array gt required exists
  • Mysql 选择应该有今天和明天日期的记录

    我想选择必须有两个或更多条目的记录 但表中应有今天和明天的日期 我正在以日期格式将日期保存在表中 SELECT availibility FROM availibility WHERE property id 8818 AND availi
  • jaxb抑制嵌套对象的外部标签

    我有一个复杂的对象 作为通常的 我无法控制的 API 的返回值返回 对于某些 API 调用 返回的 XML 如下所示
  • 如何从 HttpResponse 获取对象?

    我正在尝试将对象从服务器发送到客户端 客户端 HttpResponse response client execute request 服务器端 protected void doPost HttpServletRequest reques
  • 检查java流是否已被消费

    如何检查流实例是否已被消耗 意味着已调用终端操作 以便对终端操作的任何进一步调用可能会失败IllegalStateException stream has already been operated upon or closed 理想情况下
  • 为什么有符号整数的绝对值方法不返回无符号值?

    以下代码无法编译 fn main let x 5i32 abs let z u32 x 带有消息 error E0308 mismatched types gt src main rs 4 18 4 let z u32 x expected
  • 无法获取用户位置

    我正在尝试获取用户位置网络位置或gps位置或两者 为此 我正在运行一个后台服务 它实现LocationListener 我还在清单文件中添加了所有需要的权限 这是我的服务 public class GetLocation extends S
  • PostScript 标记“=string”、“=only”等

    我正在处理包含 string only 和 only 等标记的 PostScript 文档 这些标记代表什么意思 如果你能帮助我 谢谢 这些是 Ghostscript 特定的 非标准的 PostScript 运算符 您不应该使用它们 也不应
  • Docker 镜像可以在 Intel mac 上运行,但不能在 M1 mac 上运行

    我们有一个在 Docker 容器中运行的 Java Spring Boot 应用程序 它基于 openjdk 13 jdk alpine 我们将其部署到 Linux 计算机上 但我们也可以在 Windows 计算机以及基于 Intel 的
  • 带有 Node.js 的 socket.io 未按预期工作

    我使用 node js socket io 创建了简单的聊天应用程序 当我尝试运行它时 它没有按预期运行 它不断从客户端发送请求 我已经配置了传输设置 jsonp polling xhr polling 在 客户端 服务器 双方 我尝试设置
  • int.Parse() 和 Convert.ToInt32 之间的主要区别是什么

    之间的主要区别是什么int Parse and Convert ToInt32 哪一个是首选 如果您有一个字符串 并且希望它始终是一个整数 例如 如果某个 Web 服务向您提供字符串格式的整数 那么您可以使用Int32 Parse http
  • 我可以在不接触工作目录的情况下导入补丁吗?

    通常 当我尝试导入补丁时 如果我的工作副本脏了 Mercurial 会中止 hg import x patch abort outstanding uncommitted changes 无论如何都可以导入吗 使用 Mercurial 1
  • 在视网膜显示屏上优化 Python QT 应用程序

    目前 Qt 界面在放大时在视网膜显示屏上看起来很糟糕 可以使用 Info Plist 来编译应用程序 但是有人有动态 python 的解决方案 例如在 PySide 中创建的界面吗 你没有说你正在使用什么 Qt 版本 最新版本 Qt v5
  • 有没有办法在 NSString stringWithFormat 中指定参数位置/索引?

    C 的语法允许您在字符串格式说明符中指定参数索引 例如 string message string Format Hello 0 You are 1 years old How does it feel to be 1 name age 您
  • 不使用 Visual Studio 将 project.json 转换为 csproj

    截至预览3dotnet new生成一个 csproj 并且两者dotnet restore and dotnet build针对 project json 和 或 xproj 失败 例如 运行dotnet restore针对同时具有 pro
  • 在 C# 中引用属性本身。反射?通用的?类型?

    如果这个问题表述得不好 请耐心等待 不知道是问题的一部分 我想要完成的示例可以在 WPF 中的 PropertyChangedEventArgs 中找到 如果您想在 WPF 中标记某个属性已更改 请按如下操作 PropertyChanged
  • SSIS 包保存在哪里?

    我右键单击 SQL Server 2008 Management Studio 对象资源管理器中的数据库 我转到 任务 gt 导入数据 从平面文本文件导入一些数据 选择将包保存在服务器上 现在我到底该如何访问该包来编辑或再次运行它呢 我应该
  • 在代码管理菜单中恢复 Visual Studio Code 中删除的文件

    我真的很沮丧 因为我不小心删除了 Visual Studio Code 中的 3 个文件 我是通过左侧的 源代码管理 菜单完成的 现在我的问题 是否有可能恢复我这样删除的 3 个文件 我希望得到任何答案 也许您想知道 我使用 Windows
  • Android 闪光灯在相机运行时使用按钮打开/关闭

    我看到有很多这样的问题 但我没有找到任何方法 在我的应用程序中 我有自己的相机和一些选项 并且还有名为的按钮btnFlash用于在相机运行时打开 关闭相机的闪光灯 我尝试了很多方法 但在 Samsung Tab 和 HTC 上都没有效果 这
  • 如何通过 bash shell 在 SQLite 中转义字符?

    我正在尝试使用 bash 从命令行向 SQLite 发送查询 我需要转义单引号和双引号 并转义它们 以便 bash 不会误解它们 这是一个典型的查询 select from contacts where source Nancy s not