ABS / 多敲码 · 2022年10月5日 0

引号支持(第5章)

1. 引号支持

引号支持的含义是:把字符串放在引号里面,这可以保护字符串中的特殊字符不被shell或者shell脚本重新解析或者扩展.

引号支持会保持被引内容的原有格式,比如echo $(ls -l) 会把所有输出放在一行,而echo “$(ls -l)”则会保持ls命令原输出内容的格式.

对于双引号,只有$`\在其中其作用.

单引号与双引号的表现类似,但是不允许引用变量取值,因此被称为全量引用(强引用),而双引号只是形式上的引用,被引用部分会在输出时被实际值替换掉,因此被称为部分引用(弱引用).

2. 反斜线

反斜线用于有多重含义的字符转义,包括两种情况:1)特殊组合转义为新含义,如\n\t\r\v\b\0xx 2)转为字面原意. 以$’\0XX’形式的引用结构是把相应的ASCII字符传递为变量.

反斜线的实际效果取决于引号支持的环境(强/弱支持), 或者出现的脚本的环境(命令替代或者here文档).

3. 使用场景

引号支持是与字符串密不可分的,特殊的地方在于对变量或特殊字符的处理.