完成這一章,你能夠做以下事情:
在命令列中使用引用機制來忽略特殊字元的特殊含義
8.1 介紹引用
許多的字元在shell中有「特別」的含義:
- 空格
- 回車
- $
- #
- *
- < >
引用會消除(忽略)這些字元的特殊含義。
在unix系統中,有些特殊字元對shell有特殊含義,例如,空格是命令和參數的分割符;回車會發送給shell執行命令的信號,$符號被用來顯示與變數名相關聯的值。
在一些特殊的情況下,你不想要shell理會這些字元的特殊含義,你只要求保留字面上的意義,因此unix必須提供一種機制來忽略或消除指定的字元的特殊含義,這種機制就叫做引用。
8.2 引用符號
反斜線 \
單引號 ‘
雙引號 「
反斜線會消除緊跟在它後面的特殊字元的特殊意義。
單引號(’)會消除特殊字元的特殊含義。 在單引號包圍之中的所有的特殊字元的特殊含義都會被忽略。 單引號本身不能被忽略,因為它要被用來關閉被引用的字串。
雙引號(」)的包容性要差一點,雙引號可以去除大多數的特殊字元的特殊含義,只有$符號(當其被用來作為變數和命令替代的時候),和反斜線例外。 所以你可以在雙引號中使用反斜線來除掉 $號的特別含義。
8.3 引用-- \
語法:
\ 除去下一個字元的特別含義
例子:
$ echo the \ \ escapes the next character
the \ escapes the next character
$ color=red\ white\ and\ blue
$ ehco the HTTP://www.aliyun.com/zixun/aggregation/9541.html">value of \ $ colore is $color
the value of $colore is red white and blue
$ echo one two \
>three four
one two three four
反斜線會忽略後面一個字元的特殊含義,不會有任何的例外。