以下两条命令虽然执行结果相同,但是处理过程却不同,读了本文再思考它们哪里不同。
正常模式
( \ ) 可以使所有字符失去特殊含义。比如 ( \* )、( \$ ) 被转义为 ( * )、( $ )。
需注意 ( \t )、( \n ) 会被转义为 ( t ) 和 ( n ) ,而不是制表符和换行符。
由于换行符(newline)会导致命令直接执行,空格(space)起到分割参数的作用,因此也可以理解为特殊字符,如图
所以当需要输入换行符或者空格符时,也需要用 "\" 转义。
转义前表示 |
\* |
\$ |
\\ |
\" |
\n |
\t |