1.通配符 * 匹配任何長度的任何串 ? 匹配單個字符 [...] 匹配單個括號內的字符,[]中的-,!具有特殊含義,如: $ echo [a-z]* 顯示首字母在a-z范圍內的文件或目錄名 $ echo [a,b]* 顯示首字母為a或b的文件或目錄名 $ echo [!a]* 顯示首字母不為a的文件或目錄名(使用!時,!必須是[後的第一個字符)!還可與-和,一起使用 在Bash 2.0以後的版本中,若用shopt打開了extglob選項(shopt -s extglob),那麼還可以擴展的模式表達式(模式表達式是指那些包含了一個或多個shell通配符的字): *(pattern [pattern] ...) 匹配模式的零次或多次出現 +(pattern [pattern] ...) 匹配模式的一次或多次出現 @(pattern [pattern] ...) 匹配模式的一次出現 ?(pattern [pattern] ...) 匹配任何一個模式.與*不同的是它不匹配 多個模式或模式的重復出現 !(pattern [pattern] ...) 與?類似,不過是不包括指定模式的串 應該注意到,模式表達式的定義是遞歸的,每個表達式都可以包含一個或多個模式,而且模式表達式也是可以嵌套的.
2.數據或程序控制使用的特殊字符: 主要有: > (file) 輸出重定向到文件 >> (file) 輸出重定向到文件,內容加到已存在的文件尾部 < (file) 輸入重定向到文件 ; 命令分隔符 管道符,把一條命令的輸出重定向為另一命令的輸入 & 放在命令之後強迫命令在後台執行 `` 命令替換,重定向一條命令的輸出為另一命令的參數
3.用於引用和逃逸的特殊字符: 逃逸符\ 表示以後的字符不具有特殊的含義或不是Shell的函數, 除此之外,Bash還可以識別一些C語言中的轉義序列,如: \a 響伶 \b 回退 \e Escape \n 換行 \r 回車 \t 制表 \v 制表 \\ 反斜線 \nnn 八進制的ASCII編碼 \xnnn 十六進制的ASCII編碼 但必須以如下方式進行引用: $'string' 引用符'和" 將特殊字符或由空白分隔的字引用起來組成一個簡單字符串 兩者區別在與,雙引號內的內容可以進行參數和變量替換