2
双引号内的单引号和Bash参考手册
Bash手册在标题为双引号的第3.1.2.3节中说: 用双引号('“')引起来的字符将保留所有引号内的字符的文字值,但'$','`','\'除外,并且在启用历史记录扩展时,会使用'!'。 目前,我关心的是单引号(')。 在上一节第3.1.2.2节中描述的特殊含义是: 将字符括在单引号(')中可保留引号内每个字符的字面值。即使在单引号前加反斜杠,也不能在单引号之间引起单引号。 结合两个论述, echo "'$a'" 其中a未定义变量(因此$a=空字符串),应$a在屏幕上打印,因为'',如果它在内部具有特殊含义,则可以避免$特殊解释。而是打印''。为什么这样?