1.转义
Bash 只有一种数据类型,就是字符串。不管用户输入什么数据,Bash 都视为字符串。因此,字符串相关的引号和转义,对 Bash 来说就非常重要。
某些字符在 Bash 里面有特殊含义(比如$
、&
、*
)。
echo $date
上面例子中,输出$date
不会有任何结果,因为$
是一个特殊字符,会将其与后面的date一起识别为一个变量:
如果想要原样输出这些特殊字符,就必须在它们前面加上反斜杠,使其变成普通字符。这就叫做“转义”(escape)。
echo \$date
上面命令中,只有在特殊字符$
前面加反斜杠,才能原样输出:
反斜杠本身也是特殊字符,如果想要原样输出反斜杠,就需要对它自身转义,连续使用两个反斜线(\\
)。
echo \\
上面例子输出了反斜杠本身。
反斜杠除了用于转义,还可以表示一些不可打印的字符。
\a
:响铃\b
:退格\n
:换行\r
:回车\t
:制表符
如果想要在命令行使用这些不可打印的字符,可以把它们放在引号里面,然后使用echo
命令的-e
参数。
echo a\tb
echo -e "a\tb"