对 shell 变量中的单引号进行转义

2024-04-28

我编写了一个 Bash 脚本来将值插入到SQLite https://en.wikipedia.org/wiki/SQLite数据库。命令如下:

sqlite3 ${db_name} "insert into ${table_name} (${column1},${column2}) values ('$f1','$f2');"

该命令可以正常工作,直到f1变量包含单引号:

# E.g., f1="I'm just kidding"
# The command reported an error:
Error: near "m": syntax error

我们如何转义变量内的单引号?


要转义 SQL 的单引号,请将其加倍 (https://www.sqlite.org/faq.html#q14 https://www.sqlite.org/faq.html#q14):

$ f1="I'm just kidding"
$ echo "${f1//\'/''}"
I''m just kidding
$ f2="no single quotes"
$ echo "${f2//\'/''}"
no single quotes

So

sqlite3 ${db_name} "insert into ${table_name} (${column1},${column2}) values ('${f1//\'/''}','${f2//\'/''}');"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 shell 变量中的单引号进行转义 的相关文章

  • 带有二进制数据的 Bash echo 命令?

    有人可以解释一下为什么这个脚本有时只返回十六进制字符串表示形式的 15 个字节吗 for i in 1 10 do API IV openssl rand 16 API IV HEX echo n API IV od vt x1 w16 a
  • wget 并行下载文件并重命名

    我有一个包含两列的文本文件 第一列是要保存的名称 第二列是资源的 url 地址 10000899567110806314 jpg http lifestyle inquirer net files 2018 07 t0724cheekee
  • #*/ 在 UNIX Shell 脚本中使用

    谁能详细说明 在 UNIX Shell 脚本中的工作原理 我已经看到它在 Korn Shell 中的使用 它专门用于删除文件的扩展名 例如 func write app log o 删除状态文件 CIE STATUS FILE 这里假设文件
  • 在cmake中集成bash测试脚本

    我有一个 C cmake 项目 它使用 Boost Test 进行单元测试 现在我想向 cmake 公开一系列 bash 脚本 用于集成测试 假设每个脚本在以下情况下返回 0PASS或某些情况下 0FAILURE 我希望每次运行时都执行每个
  • 如何在 bash_profile 文件中添加导出语句?

    我正在尝试了解是否必须添加导出语句来在 bash profile 文件中设置变量 我该怎么做呢 例如 如果我必须添加 export AX name 那么我应该将其简单地写在文件末尾还是我还需要编写其他内容 简单写一下export AS na
  • 在 Django shell 会话期间获取 SQL 查询计数

    有没有办法打印 Django ORM 在 Django shell 会话期间执行的原始 SQL 查询的数量 Django 调试工具栏已经提供了此类信息 例如 5 QUERIES in 5 83MS但如何从 shell 中获取它并不明显 您可
  • “alias: =: not found”,且未定义别名,在 .bashrc 中使用“alias ll = 'ls -l'”

    我在 Mac OSX 上并尝试在 bashrc 中添加一些基本别名 例如alias ll ls l 我在 bash profile 中获取了 bashrc 启动时它识别出我在 bashrc 中的函数 但是 每次添加别名然后尝试启动它时 我都
  • Grep 搜索带有换行符的字符串

    如何使用 grep 输出下面给出的输入文件中出现的字符串 export to excel 具体来说 如何处理搜索字符串之间发生的换行符 grep 中是否有一个开关可以执行此操作或其他命令 输入文件 文件a txt 等等 导出到优秀 巴拉巴拉
  • 如何在 Bash 中删除字符串的第一部分?

    该代码将给出第一部分 但是如何删除它并获取没有第一部分的整个字符串 echo first second third etc cut d f1 你应该看看info cut 这将解释什么f1 means 实际上我们只需要第二个字段之后的字段 f
  • tcsh 脚本 if 语句

    我需要循环遍历一堆不同的场景 变量场景 但无法弄清楚如何在 tcsh shell 脚本中使用 if 语句 收到错误 if 表达式语法 有人可以告诉我我有什么问题吗 简化代码如下 谢谢 bin tcsh f set val 0 foreach
  • 通过 shell 脚本查找“非”硬链接的文件

    给定一个目录 如何找到其中的所有文件 以及任何子目录 not硬链接文件 或者更具体地说 这不是具有多个引用的硬链接文件 基本上我想扫描一个文件夹并返回一个列表unique该目录中的文件 包括目录和符号链接 不是它们的目标 如果可能的话 最好
  • 从预提交挂钩中排除某些文件类型

    我想要一个预提交 git 钩子来检查 如果可能的话 自动删除 尾随空格 In 让 git 在提交之前自动删除尾随空格 https stackoverflow com questions 591923 make git automatical
  • 命令中的 Bash 变量扩展[重复]

    这个问题在这里已经有答案了 DATE 1 week ago date date DATE 不起作用 我怎样才能让它发挥作用 我可以做 DATE CMD date date DATE eval DATE CMD 但我不想将整个命令存储在变量中
  • 使用 sed 将反斜杠替换为斜杠[重复]

    这个问题在这里已经有答案了 我需要更换 with 我有一个文件 其中包含 test test2 test3 test4 I tried VRS Ruta cat ruta lst sed s g sed s g output test te
  • grep 彩色线条

    我编写了一个简单的 PHP shell 脚本 它解析文件并输出某些元素 它产生大量的输出 采用不同的 bash 颜色 绿色表示正常 黄色表示警告 红色表示错误等 在开发过程中我想过滤掉一些行 例如 所有包含红色文本的行 我可以使用grep
  • AJAX 进度条 - 轮询、Comet?

    我想要一些关于如何实施以下内容的建议 我想让我的用户通过 AJAX 了解在我的服务器上运行的任务的进度 我的服务器运行一个 PHP 脚本 该脚本使用 popen 函数通过 shell 命令下载文件 它定期回显 打印正在发生的事情 我想使用
  • HBase Shell 日志记录

    使用 HBase shell 时 我收到大量日志记录 包括 INFO 和 DEBUG 消息 虽然这对于学习 HBase 内部结构来说很有趣 但它非常冗长并且可能会掩盖输出 我尝试过以多种不同的方式更改日志记录级别 包括所描述的here ht
  • 如何在不使用 MacPorts 或 Fink 的情况下在 OS X Leopard 上安装 lxml?

    我过去曾多次尝试过此操作并遇到问题 有没有人有在没有 MacPorts 或 Fink 的情况下在 OS X 上安装 lxml 的方法 并且绝对有效 最好有完整的 1 2 3 步骤来下载和构建每个依赖项 感谢 Twitter 上的 jesse
  • Unix shell脚本找出脚本文件所在的目录?

    基本上我需要使用与 shell 脚本文件位置相关的路径运行脚本 如何将当前目录更改为与脚本文件所在的目录相同 在 Bash 中 你应该得到你需要的东西 如下所示 usr bin env bash BASEDIR dirname 0 echo
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译

随机推荐

  • 仅使用 fprintf 和 fscanf 替换文本文件中的字符串

    抱歉问这么简单的问题 这是我作业的一部分 我被困住了 如你看到的 include
  • Spring中需要多个相同类型的bean

    将其标记为重复之前的请求 我浏览了论坛 但在任何地方都找不到该问题的解决方案 我正在使用 Spring 3 2 编写代码 一切都是纯粹基于注释的 该代码接收从不同 XSD 文件派生的 XML 文件 所以我们可以说 有五个不同的 XSD A1
  • 在 Python 中使用 argparse 处理无效参数

    我在用argparse https docs python org 2 library argparse html解析命令行参数 默认情况下 在收到无效参数时 它会打印帮助消息并退出 是否可以自定义 argparse 在收到无效参数时的行为
  • Nonetype 错误/使用 python 的 beautifulsoup 没有打印任何元素

    所以我尝试使用 python 比较 2 个列表 其中一个包含我从网站获取的 1000 个链接 另一个包含一些单词 这些单词可能包含在第一个列表的链接中 如果是这种情况 我想得到一个输出 我打印了第一个列表 它确实有效 例如 如果链接是 ht
  • Powershell CMD.exe 和路径中的空格

    我在使用执行命令时遇到问题cmd exe在 PowerShell 中 问题是命令的路径中有空格 似乎是 PowerShell 的普遍问题 以下是摘录 base dir resolve path this path has spaces in
  • 有没有办法查看 Docker for Windows 上的容器磁盘使用情况?

    我很好奇除了作为容器映像一部分的层之外 是否还有一种方法可以查看正在运行的 Windows 容器使用了多少磁盘空间 基本上 容器自创建以来 增长 了多少 在 Linux 或在 HyperV 中运行的 Linux 容器 中 这将是docker
  • 熊猫在移动的数据帧上滚动

    这是一段代码 我不明白为什么在最后一列 rm 5 上 前 4 项得到 NaN 我知道对于 rm 列 前 4 项未填充 因为没有可用数据 但如果我移动列计算 应该进行 不是吗 同样 我不明白为什么 rm 5 列中有 5 个而不是 4 个项目是
  • AWS 上的多租户应用程序 - 多个 SSL 证书安装策略

    我正在为 Rails 多租户应用程序做一些规划 并且想知道处理自定义域证书的最佳方法是什么 应用程序是相当沼泽标准 ELB 应用程序服务器和多租户数据库 在我当前的用例中 每个租户都有一个自己独有的应用程序子域 这通常是通过通配符证书来处理
  • 使用 UIWebView loadRequest 的常规块 56、1024、8、244、24 内存泄漏

    我遇到了内存泄漏 但无法通过泄漏 构建 分析或整体检查来找出如何修复 我有一个非常强烈的想法 这是由于我的 UIWebview 加载 JavaScript 的 loadRequest 命令造成的 但我不知道出了什么问题 这是我的设置 我有一
  • Android WebView - 带有经过身份验证的代理

    我目前正在尝试调试围绕 WebView 构建的 Android 应用程序 我负责处理的开发网络环境 不是我的选择 这是 企业 安全决策 是WPA WiFi 代理服务器 代理身份验证 虽然a上的说明以前的答案非常有帮助 https stack
  • 在通用 C# 类中链接隐式运算符

    对于以下通用 C 类 我想将 T 转换为 K public abstract class ValueType
  • 哪种 jQuery 选择方法更快?

    我想知道使用 jQuery 进行选择时使用上下文参数与使用普通 CSS 范围选择器相比是否有任何优势 假设我有这个 html div class contacts h1 All contacts h1 div class contact n
  • 如何在流体宽度容器中将左侧、中间和右侧的三个按钮放置在同一行?

    我在用着LESS在 Twitter Bootstrap 环境中 但我会直接接受CSS也有答案 Fluid width container Btn1 Btn2 Btn3 另一种宽度 Fluid width container Btn1
  • 关于线程的停止

    我开发了一个代码 它将在执行时启动两个线程 public class MyThread1 extends Thread extend thread class public synchronized void run synchronize
  • 为什么在比较范围内的数字时会在汇编代码中发生分支?

    我正在读书this https stackoverflow com questions 17095324 fastest way in c to determine if an integer is between two integers
  • softmax_cross_entropy_with_logits和loss.log_loss有什么区别?

    之间的主要区别是什么tf nn softmax cross entropy with logits and tf losses log loss 两种方法都接受 1 hot 标签和 logits 来计算分类任务的交叉熵损失 这些方法在理论上
  • 无需互联网的 Google Cast 应用

    仅在本地网络中无需访问互联网的情况下是否也可以在 Chromecast 上运行 Cast 应用程序 也许有自己的网络服务器 对于展示活动 我无法确保可以访问互联网 该用例仅用于演示 感谢您 截至 2015 年 2 月上旬 Chromecas
  • 使用 Angular HTTP Observable 的轮询 API

    在我的组件 html 中 我使用 asyncPipe 来订阅此 http 服务 该服务将 json 响应对象映射到类实例数组 这一切都很好 但我希望 http 服务每隔几秒轮询一次 我已经尝试了很多东西 比如间隔 但目前 RXJS 似乎有点
  • -Ot 标志在 Visual Studio 2017 中代表什么?

    我收到错误 错误 C1007 无法识别 p2 中的标志 Ot 但在项目的命令行字符串中找不到 Ot 谷歌搜索没有帮助 有谁知道那面旗帜代表什么吗 我在编译的一个项目中遇到了类似的问题 这似乎是当 MSVC 2017 链接器尝试将依赖库 li
  • 对 shell 变量中的单引号进行转义

    我编写了一个 Bash 脚本来将值插入到SQLite https en wikipedia org wiki SQLite数据库 命令如下 sqlite3 db name insert into table name column1 col