首页 > 解决方案 > bash 中的三单引号是什么意思?

问题描述

我在 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.

标签: bashshell

解决方案


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


推荐阅读