1.反斜杠(\)
反斜杠一般用作转义字符,linux如果echo要让转义字符发生作用,就要使用-e选项,且转义字符要使用双引号
例如:echo -e "\n" ; 反斜杠还有一种作用:shell中,当反斜杠用于一行的最后一个字符时,shell把行尾的反斜杠最为续行,这种结构在输入长命令是经常使用
2.单引号(')
单引号(')表示:关闭在两个单引号之间所有字符的特殊含义
3. 双引号 ( " )
双引号作用与单引号类似,区别在于它没有那么严格。单引号告诉shell忽略所有特殊字符,而双引号表示关闭在两个双引号之间所有字符的特殊含义除了 $ ` \
例:

echo "$x" :双引号告诉shell在引号内照样进行变量名替换,所以shell把$x替换为*,因为双引号中不做文件名替换,"*"这个特殊字符在双引号内关闭了特殊含义,所以就把*作为要显示的值传递给echo
echo '$x' :单引号内关闭所有特殊字符,所以直接把$x作为字符串传递给echo
echo $x :shell在给变量赋值时不进行文件名替换,各步骤发生的精确次序如下:
a> shell扫描命令行,把x的值设为星号*;
b> shell再次扫描命令行,碰到星号*,把它替换成当前目录下的文件清单;
c> shell启动执行echo命令,把文件清单作为参数传递给echo.
b> shell再次扫描命令行,碰到星号*,把它替换成当前目录下的文件清单;
c> shell启动执行echo命令,把文件清单作为参数传递给echo.
d> 这个赋值的先后次序非常重要:shell先作变量替换,然后作文件名替换,最后把这行处理为参数
4 反向单引号(`)
反向单引号(`)表示:告诉shell首先运行两个反向单引号之间的命令,然后把得到的结果再传递给两个单引号之外的命令。
同样的功能也可以通过“$command”命令来实现,而且可能会更方便。
