bash 中的三单引号是什么意思?

2024-01-10

我在 bash 中见过很多单引号和双引号以及反引号的用法,但从未见过接下来的内容。下面的文字记录是什么意思,它似乎表明 bash 认为三重单引号是有意义的,并且进一步似乎表明这个东西中的单引号也有特殊的含义,可以进行插值?我没有找到这方面的文档。

$ Q=test
$ echo '$Q'                      # <== I know, this doesn't work...
$Q                               # <== ...and so it doesn't. 
$ echo '''$Q'''                  # <== Don't know what this could mean.
$Q                               # <== OK, nothing special?
$ echo ''' "$Q" '''              # <== Try a double-quote??
 "$Q"                            # <== Hmm... OK, nothing.
$ echo ''' '$Q' '''              # <== Try a single-quote?
 test                            # <== Wow, it did interpolate!?
$ echo '''                         
> '''                            # <== Continuation! Proving bash  
                                 #     thinks this is an opening 
                                 #     quote of some kind.
$ bash --version                 # <== FYI,  version info
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
Copyright (C) 2007 Free Software Foundation, Inc.

没有“三重引号”......例如''' '$Q' '''是几个字符串的串联...'', ' ', $Q, ' ' and ''。以同样的方式考虑其他每个人。

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

bash 中的三单引号是什么意思? 的相关文章

  • GNU 并行与 rsync

    我正在尝试运行一些实例rsync并行使用ssh with GNU parallel 我正在运行的命令是这样的 find tmp tempfolder type f name chunck sort parallel gnu j 4 v ss
  • Bash 脚本:将数组作为参数传递给函数并打印数组

    我将一个数组传递给一个函数并尝试打印该数组的每个元素 下面是数组参数周围带有引号的代码片段 bin bash print array array for i in array with quotes do echo i done ar 1
  • 如何在Shell脚本中解析字符串

    我想在 shell 脚本中解析以下字符串 VERSION 2 6 32 54 0 11 def 这里我想得到两个值 first 263254 second 11 我使用以下方法来获取第一个值 first expr substr VERSIO
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • 如果未设置,则从控制台读取 Makefile 变量

    我正在更新一个从外部源访问某些资源的 Makefile 即存在以下形式的规则 External cvs up 对于不受限制的资源 它可以按预期工作 现在 出现了功能漂移 外部资源需要更复杂的登录 因此规则已更改为与此没有太大不同的内容 Ex
  • adb shell:无法使用 ESCAPE 键

    I want to use vi when running adb shell Starting vi is easy However I found that the ESC key doesn t seem to get through
  • 带有存储在文件中的通配符的 grep

    我希望 grep 通过读取需要从文本文件中过滤掉的内容来过滤掉行 这是我给 grep 的内容 它存储在foo txt Users 1337 X Users 1337 R Users 1337 W 这是它应该过滤的内容 它存储在bar txt
  • 用于读取文件的 Bash 脚本

    不知道为什么最后一行没有从脚本中删除 bin bash FILENAME 1 while read line do cut d f2 echo line done lt FILENAME cat file 1 test 2 test 3 t
  • Bash - 比较 2 个文件列表及其 md5 校验和

    我有 2 个列表 其中包含带有 md5sum 检查的文件 即使文件相同 列表也具有不同的路径 我想检查每个文件的 md5 和 我们正在讨论数千个文件 这就是为什么我需要脚本来仅显示差异 第一个列表是普通列表 第二个列表是文件的当前状态 我想
  • 使用 grep 查找所有匹配的模式

    In txt1 S01A1P2 S01A1P5 S01A1P4 In txt2 data train wave S01A1P3 mfc data train wave S01A1P7 mfc data train wave S01A1P8
  • exec()、shell_exec()、curl_exec() 的安全漏洞

    有时 我会使用 exec shell exec 和curl exec 以下是典型用途 假设其中有 PHP 变量 即第一个变量中的 html 用户有可能修改其内容 从安全漏洞的角度来看 我应该关注什么 escapeshellcmd 和 esc
  • Grep 递归和计数

    需要在具有大量子目录的目录中搜索文件内的字符串 我在用着 grep c r string here 我怎样才能找到总数量 如何仅输出至少具有一个实例的文件 使用 Bash 的进程替换 这给出了我认为是您想要的输出 如果不是 请澄清问题 gr
  • 在 bash 中,如何除以两个变量并输出四舍五入到小数点后 5 位的答案? [复制]

    这个问题在这里已经有答案了 我将两个变量作为输入 将它们相除后 我希望将输出四舍五入到小数点后 5 位 我已经尝试过这种方法 gt sum 12 n 7 output scale 5 sum n bc echo output 我的代码没有显
  • 在 C# 中编写批处理脚本的好方法是什么?

    我想用 C 编写简单的脚本 我通常会使用 bat 或 4NT btm 文件 复制文件 解析文本 询问用户输入等等 相当简单 但在批处理文件中正确执行这些操作确实很困难 例如没有例外 我熟悉像 AxScript 这样的命令行 脚本 包装器 这
  • Docker exec linux 终端创建别名

    我有一个正在运行且独立的容器 我想在附加到该容器之前创建一个命令别名 当我连接到容器并输入 alias bar foo 创建别名 并可以通过以下方式检查 alias command 但如果我想做同样的事情码头执行者命令即这样 docker
  • 带有二进制数据的 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
  • Bash:产生当父脚本退出时退出的子进程

    我想在 Bash 中生成多个子进程 但我希望父脚本保持运行 这样发送到父脚本的信号也会影响生成的子进程 这不会这样做 parent bash usr bin bash spawnedChildProcess1 spawnedChildPro
  • 捕获并邮寄 bash 脚本错误

    我有一个脚本 每晚在 cron 中运行 为网络上的多个主机备份一些 postgres 数据库 我有一种方法可以通过利用退出状态来收到脚本失败的警报 但它没有告诉我失败的原因 根据以下代码 我如何捕获脚本运行时发生的任何错误 并将其通过电子邮
  • Bash 的源命令无法处理从互联网上卷曲的文件

    我正在尝试使用curl从互联网获取脚本文件 如下所示 source lt curl url echo done 我看到的是 完成 得到了回响before卷曲甚至开始下载文件 这是实际的命令和输出 bash 3 2 source lt cur
  • 如何在 bash_profile 文件中添加导出语句?

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

随机推荐

  • 使用 Selenium 切换活动选项卡 [重复]

    这个问题在这里已经有答案了 我开发了这段代码 用于将所有搜索结果打开到新选项卡中 String selectLinkOpeninNewTab Keys chord Keys CONTROL Keys RETURN results get i
  • 有效的 UUID 不是有效的 UUID

    我有一个非常奇怪的问题 我发现有效的 UUID 不是有效的 UUID 例如 fd31b6b5 325d 4b65 b496 d7e4d16c8a93 is not a valid UUID File opt python run venv
  • fastfix.Message 无法转换为quickfix.fix50sp2.Message

    我使用的是最新的快速修复版本 1 6 0 我已经有针对 1 5 3 编写的代码 我想做的是将其升级到 1 6 0 我遇到的问题是当我使用它抛出的破解 msg sessionID 方法时quickfix Message cannot be c
  • 为QListView中的每个Item添加删除按钮

    是否可以以某种方式向 QListview 中的每个项目添加一个正在删除 onClick 对象的按钮 如下图所示 编辑 由于我是 QT 的新手 最好有一些例子 以便更好地理解它 似乎有三种不同的方式 什么会是最好的 使用 QAbstractI
  • Win32:如何根据 Active Directory 验证凭据?

    它一直asked https stackoverflow com questions 290548 c validate a username and password against active directory and 回答了 NE
  • 如何枚举给定文件或文件夹的卷影副本?

    所以我本质上是尝试使用 PowerShell 检索屏幕截图中的信息 有点被第一个障碍难住了 我能找到的最好的是https superuser com questions 643536 how to find and open previou
  • 我不明白这个 C/C++ 笑话

    读完这篇文章后article http thedailywtf com Articles Mister Fixit aspx在 thedailywtf com 上 我不确定我是否真的明白了这个笑话 它说有人改变了代码 int functio
  • 为什么这段代码对于(看起来是)相同的输入给出了两个不同的输出?

    我正在尝试为跳棋游戏编写一些人工智能程序 我的程序显示白人玩家的步数为 0 尽管我知道有这样的步数 这GetValidMoves 函数已经过测试 并且可以在代码的其他区域工作 为了尝试隔离程序 我保存了有问题的板状态 然后将其加载回来 看看
  • @Service 和 @Scope("prototype") 在一起

    我有一个带有 Service 和 Scope prototype 的服务类 我希望该服务的行为类似于控制器类中的原型 我的使用方法如下 Controller RequestMapping value public class LoginCo
  • 使用 Selenium + Python 进行异步刷新

    我目前正在开发一个项目 我需要 Selenium 在准确的时间刷新两个选项卡 并且我不想等待网站加载 我尝试了多篇文章中描述的每种方法 但仍然不正确 下面的代码片段没有任何结果 其他方法 例如 browser refresh 方法 似乎是同
  • 下拉菜单与 Flexbox 内的容器重叠

    我正在开发我的个人网站 父标题放置在弹性框中 HTML
  • Angular2:更改要上传的文件时不会触发 的验证

    当文件输入更改时 Angular 2 似乎无法运行验证 我做了一个punk来说明这个问题 我做了一个类似的表单组 this frm new FormGroup file new FormControl this validateFile 在
  • Python DataFrame 中 Timedelta 值的聚合

    我有一个大 DataFrame df 如下所示 Acc num date diff 0 29 0 04 43 1 29 0 01 43 2 29 2 22 45 3 29 0 16 21 4 29 0 58 20 5 30 0 00 35
  • 在 Magento 管理面板的目录产品页面中动态设置选择选项

    需要在选择属性中具有一组动态值 具体取决于另一个选择属性 例如将有两个下拉属性 1 父下拉菜单 2 子下拉菜单 如果在父下拉列表中选择 A 则下拉列表中将显示 Air Apple Ant 如果在父属性中选择 B 则将显示 Ball Box
  • PHP 避免静态类以避免依赖关系,但我需要在任何地方使用全局

    很多次我听到避免静态类因为他们将插入依赖项 这将使您的代码在其他项目中无法使用 并且不允许对其进行单元测试 https stackoverflow com a 5673247 260080 假设我们有一个典型的class DB访问数据库 此
  • :sub: 之类的排版快捷方式在哪里定义?

    特别是 有没有办法添加像这样的快捷方式 nsub to NotSubset For NotSubset 默认别名是 sub 当然 正如 HPMark 的回答中提到的 如果您对此不满意 可以更改InputAliases对于当前笔记本 oldO
  • 在此服务器上找不到请求的 URL /ProjectName/users。拉维尔

    我正在关注 laravel 的快速入门 它说 type users 但不为我工作 我在浏览器中写了 http DomainServer ProjectName users它抛出 在此服务器上找不到请求的 URL ProjectName us
  • 从作为几个局部变量之一的 JTextField 获取数据

    所以我正在读取一个文件 并获取该文件中的行数 基于此我生成了我的界面 现在我需要能够通过 UI 编辑值 Rows 是具有输入文档行数的变量 当然 下面的代码不起作用 我想将新值写入我从中读取的数组 for int i 0 i
  • 如何监听 1200 个设备 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在使用德尔福 我有一个设备 设备
  • bash 中的三单引号是什么意思?

    我在 bash 中见过很多单引号和双引号以及反引号的用法 但从未见过接下来的内容 下面的文字记录是什么意思 它似乎表明 bash 认为三重单引号是有意义的 并且进一步似乎表明这个东西中的单引号也有特殊的含义 可以进行插值 我没有找到这方面的