我见过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.
答案 0 :(得分:7)
没有“三引号” ...例如''' '$Q' '''
是几个字符串的串联... ''
,' '
,$Q
,{{1 }}和' '
。以相同的方式考虑其他每个人。