首先明白,在 shell 语句中使用引号,是为了说明引用的部分是一个整体
- 双引号
双引号可引用除字符美元符($)、反引号(`)和反斜杠(\)外的任意字符或字符串,对于shell来说,它们有特殊的意义
- 单引号
单引号可忽略任何引用。即将其中所有字符都当做字符串中字符处理。
- 反引用
反引用用于将系统命令输出到变量。即是shell将反引用中的内容作为一个系统命令,并执行其内容。
- 反斜杠
反斜杠用于屏蔽其特殊字符的含义,将它当做特殊字符处理。一般包含有:(&)(*)(+)(^)($)(`)(")(')(|)(?)
- 大括号
${var...} 引用变量值,对变量进行相应的字符串操作。
- 小括号
$(command) 返回command执行后得到的结果,类似于反引号。$((算数表达式))返回算数表达式的结果
- 感叹号
${!var$var1}表示对变量var$var1的间接引用, echo ${!var$var1} 等价于 eval echo "\$var$var1"