如何转义单引号字符串中的单引号

2024-06-22

比方说,你有一个 Bashalias like:

alias rxvt='urxvt'

效果很好。

However:

alias rxvt='urxvt -fg '#111111' -bg '#111111''

不会起作用,也不会:

alias rxvt='urxvt -fg \'#111111\' -bg \'#111111\''

那么,一旦转义了引号,如何最终匹配字符串中的开始和结束引号呢?

alias rxvt='urxvt -fg'\''#111111'\'' -bg '\''#111111'\''

看起来很笨拙,尽管如果允许您像这样连接它们,它会表示相同的字符串。


如果您确实想在最外层使用单引号,请记住您可以粘合两种引号。例子:

 alias rxvt='urxvt -fg '"'"'#111111'"'"' -bg '"'"'#111111'"'"
 #                     ^^^^^       ^^^^^     ^^^^^       ^^^^
 #                     12345       12345     12345       1234

如何解释'"'"'被解释为只是':

  1. '结束使用单引号的第一个引用。
  2. "使用双引号开始第二个引用。
  3. '引用的字符。
  4. "使用双引号结束第二个引用。
  5. '使用单引号开始第三个引用。

如果 (1) 和 (2) 之间或 (4) 和 (5) 之间没有放置任何空格,shell 会将该字符串解释为一个长单词。

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

如何转义单引号字符串中的单引号 的相关文章

  • 仅当程序成功时如何重定向程序的输出?

    当我的程序之一返回非零退出代码时 我想避免重定向其输出 这可能吗 如果可以 我该怎么做 我失败的尝试 echo foo gt file false cat gt file 这导致file是空的 我想要的行为只是调整file当程序成功时 我还
  • Bash:执行命令时超时/文件溢出终止

    我正在用 bash 编写一个模拟评分脚本 它应该执行一个 C 程序 该程序将给出一些输出 我将其重定向到一个文件 我试图 1 使其在一定持续时间后超时 并且 2 如果输出文件到达某个文件则终止尺寸限制 不知道如何解决这两个问题 有什么帮助吗
  • 有没有办法在 MacOSX 上使用 Xcode 将 bash shell 脚本与 AppleScriptObjC 应用程序一起打包?

    我正在尝试使用 AppleScriptObjC 作为包装器来自动化三个或四个 bash shell 脚本 这将为我提供一个友好的 GUI 前端来选择数据文件等 以及方便的文本文件操作和多个 bash 脚本的处理 一切正常 我可以按下按钮并运
  • 在同一变量集行中组合多个 bash 参数替换,而不使用任何其他命令[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想要组合的示例 sVar whoami sVar sVar sVar sVar 1 Output 用户名第一个字符大写 要求 单线
  • 文件头中 shebang 的用法:是否有任何选项可以在 shebang 中传递多个参数

    我使用不同的命名空间来执行 python 文件 使用 shebang hashbang 来执行此脚本 bin bash c 面临的问题是 shebang 只接受一个参数 即使我传递多个参数 它也会将其视为单个字符串 舍邦使用 sbin ip
  • 为什么 bash for 循环出错?

    我正在尝试使用 for 循环运行以下代码 但出现语法错误 请帮忙 输入格式 输入的第一行包含一个整数N 表示整数的个数 下一行包含 N 个空格分隔的整数 它们构成数组 A read n sum 0 for i 1 i lt n i do r
  • 如何在shell脚本中扩展相对路径

    我正在编写一个脚本来使用 bash 在 linux 2 6 上设置环境变量 因此该脚本包含如下命令 export SRC DIR export LIBPATH SRC DIR lib 问题是 当我尝试 echo LIBPATH 时 它显示
  • Scala 中简单表达式的非法开始

    我刚刚开始学习scala 在尝试实现递归函数时 我在 Eclipse 中收到错误 简单表达式的非法开始 def foo total Int nums List Int if total nums sorted head 0 0 else r
  • 当存储在变量中时,Git 提交消息变得混乱[重复]

    这个问题在这里已经有答案了 我有一个 Git 提交 其中有一个摘要 然后是一些描述 所以当我看到提交消息时git log format B n 1
  • **(双星/星号)和 *(星号/星号)在函数调用中意味着什么?

    在类似的代码中zip x or f k 做什么 and 分别是什么意思 Python 如何实现该行为 以及对性能有何影响 See also Expanding tuples into arguments https stackoverflo
  • 如何从 tcl 脚本调用 bash 命令?

    Bash 命令可从交互式 tclsh 会话中获得 例如 在 tclsh 会话中 您可以 ls 代替 exec ls 但是 您不能有一个直接调用 bash 命令的 tcl 脚本 或者没有exec 如何使 tclsh 在解释 tcl 脚本文件时
  • 将匹配的值传递给函数,并替换为返回值

    我如何让 Bash 匹配正则表达式 而不是用常量字符串替换值 而是将匹配的值传递给函数 然后从函数的返回值中获取要替换的值 像下面的伪代码一样 它替换了每一个匹配项 a d 具有相同的字符 但大写 function uppercase ec
  • shell脚本响应按键

    我有一个 shell 脚本 本质上是这样的 while true do read r input if input a then echo hello world fi done 这一切都很好 但我刚刚意识到在这种情况下必须按 ENTER
  • 删除所有出现的重复行

    如果我想删除某些字段重复的行 那么我使用 sort u k n n 但这仍然发生一件事 如果我想删除所有出现的重复项 有没有快速的 bash 或 awk 方法可以做到这一点 例如我有 1 apple 30 2 banana 21 3 app
  • 如何在 shell 中解码 URL 编码的字符串?

    我有一个文件 其中包含已编码的用户代理列表 例如 Mozilla 2F5 0 20 28Macintosh 3B 20U 3B 20Intel 20Mac 20OS 20X 2010 6 3B 20en 我想要一个 shell 脚本 它可以
  • Bash IF:多个条件

    我已经尝试让这件事工作几个小时 但我无法让它工作 if P SFTP a PORT 22 P FTPS PORT 990 a PORT 21 then 有人能帮我吗 我知道多个条件可以这样写 if P SFTP PORT 22 then 但
  • 使用环境变量将参数传递给命令

    我正在尝试编写一个 bash 脚本 该脚本采用环境变量并将其传递给命令 所以如果我有类似的东西 export OUT a arg1 b arg2 0 arg2 1 我想在我的 bash 脚本中执行以下操作
  • For 循环 Bash 中的大数序列[重复]

    这个问题在这里已经有答案了 在 Bash 脚本中 我使用一个简单的 for 循环 如下所示 for i in seq 1 1 500 do echo i done 这个 for 循环工作得很好 但是 当我想使用较大数字的序列 例如 10 8
  • bash get 命令在管道符号之前使用

    对于已经使用程序输出的半成品脚本 我还需要用于通过管道传输到我的脚本的程序的名称和参数 所以我这样运行 yay something myscript现在我需要将 yay Something 存储到变量中 有一种方法可以获取以前运行的命令或当
  • bash shell 嵌套 for 循环

    我想编写一个必须在 bash shell 提示符下工作的嵌套 for 循环 在单行命令中嵌套 for 循环 例如 for i in a b do echo i done a b 在上面的例子中 for循环是在单行命令中执行的 像这样 我在

随机推荐

  • Neo4J 1.9.1 的替代 IndexProvider

    我在我的应用程序中使用 Lucene 4 并且不想更改它 我正在尝试集成 Neo4J 它将 Lucene 3 5 捆绑为 IndexProvider 实现 Neo4j lucene index 不幸的是 neo4j lucene index
  • 从 ipython 运行时按预期将包添加到 sys.path import 的脚本,但从 python 运行脚本时抛出异常

    我是一个困惑的Python爱好者 我已经发布我还能做些什么来解决在 virtualenv 中未在 python 中导入但在 ipython 中导入的包的问题 https stackoverflow com questions 2558767
  • 雅虎财经 URL 不起作用

    我已经使用以下 URL 从雅虎财经获取历史数据已有相当长一段时间了 但从昨天开始它就停止工作了 https ichart finance yahoo com table csv s SPY https ichart finance yaho
  • 如何使用express.bodyParser/node-formidable解析嵌套元素?

    我将express js与bodyParser中间件一起使用 从技术上讲 它是节点强大的 在幕后 我想采用并创建一个表单来表示此处列出的每个数据元素的输入 name asdf children child name xyz1234 size
  • 使用 xhtmlrenderer (iText) 的书签

    我使用 xhtmlrenderer 也称为 Flying Saucer 和 iText 将 HTML 转换为 PDF 我如何用它创建书签 有人有一个小例子吗 提前致谢 R6中似乎添加了书签 但用户指南仅提供了一个临时参考 向作者提供 TOD
  • 在 Travis CI 上缓存单个文件

    在我的 travis 构建中 我需要首先下载一个大的 tar gz file This tar gz永远不会改变 所以缓存它是个好主意 The tar gz它下载到我的 Dockerfile 中 RUN curl ftp mycompany
  • (AppKit) NSTextBlock 内的 Tab 插入

    我正在使用 AppKit 为 macOS 开发一个 Markdown 编辑器 并且已经掌握了所有基础知识并可以正常工作 我在用着NS文本块 https developer apple com documentation appkit nst
  • 从 C/C++ 解析简单的 MIME 文件?

    我已经在网上搜索了好几天 但似乎找不到解决我的问题的好方法 对于我的一个项目 我正在寻找一个好的 轻量级 MIME 解析器 我的客户提供 MIME 格式的文件 线性 无层次结构 其中包含 3 4 个 部分 应用程序必须能够拆分这些部分并独立
  • 如何通过 Spring Data JPA 使用 Sum SQL 分组?

    我想按数量加载畅销产品 这些是我的桌子 Product id name 1 AA 2 BB Productorder order id product id quantity 1 1 10 2 1 100 3 2 15 4 1 15 这是我
  • 以十六进制发送 Javascript POST XMLHttpRequest 文件内容

    我正在尝试从 JS 代码中上传静态文件 我有一个 tgz 文件 我想将其作为 POST 参数发送 我已将文件转储到十六进制字符串 fileDatalike var 文件 xff x01 x08 我想作为多表单发布数据的正文内容发送 似乎当我
  • 从 shell 脚本解析文件中的键/值的代码

    我有一个文件 需要使用 shell 脚本按键查找值 该文件如下所示 HereIsAKey This is the value 我怎样才能做类似的事情 MyVar Get HereIsAKey 然后 MyVar 应该等于 这就是值 键没有空格
  • map 返回未定义的对象数组?

    const newDate map items result obj gt if isDateWithinRage obj date from return date obj join date name obj student name
  • 在Android上的警报通道上播放声音

    我已经做了很多谷歌搜索 但其他人的解决方案对我不起作用 我的目标是在警报通道上按需播放声音 所以声音大小是通过闹钟音量设置来调节的 由此thread https stackoverflow com questions 33961439 ho
  • Hibernate Temporal.TIMESTAMP 映射到没有毫秒的 mysql 日期时间

    我有一个实体 其字段定义如下 Temporal TemporalType TIMESTAMP Column name some datetime private java util Date someDateTime 我假设 Hiberna
  • NG 重复后运行指令

    因此 我希望尽可能将我的插件库移至 Angular 以保持一致性 我遇到的问题是在其子级的任何指令运行后获取要运行的指令 只是为了澄清一点 这里的目标是让我们的集成商 仅限 CSS HTML 团队成员 轻松地通过使用功能标记来向项目添加动态
  • C++中不规则文件写入性能

    我正在编写一个应用程序 它通过简单的函数调用接收二进制数据流 例如put DataBLock dateTime 其中每个数据包为 4 MB 我必须将这些数据块写入单独的文件 以供将来与一些附加数据 如 id 插入时间 标签等 一起使用 所以
  • 开关可能会掉落(不,可能不会)

    在 GCC 7 上 我已启用 Qt Creator 4 9 上的大部分警告 现在我有一个涵盖所有枚举值的 switch 语句 如果我添加一个default 我收到警告 来自 Qt 创建者 warning default label in s
  • 使用after_save回调修改同一个对象而不再次触发回调(递归)

    如果我向 ActiveRecord 模型添加 after save 回调 并在该回调上使用 update attribute 更改对象 则会再次调用该回调 因此会发生 堆栈溢出 呵呵 无法抗拒 是否可以避免这种行为 也许在执行期间禁用回调
  • 带有多个参数的@selector

    如何调用具有多个参数的 selector 方法 我有以下内容 self performSelector selector changeImage withString withObject A1 withObject fileString2
  • 如何转义单引号字符串中的单引号

    比方说 你有一个 Bashalias like alias rxvt urxvt 效果很好 However alias rxvt urxvt fg 111111 bg 111111 不会起作用 也不会 alias rxvt urxvt fg