[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > Shell > 正文
Bash中的特殊字符
本文出自:http://www.ytht.org 作者:chenhao (2001-10-28 13:05:01)
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'
  引用符'和"    將特殊字符或由空白分隔的字引用起來組成一個簡單字符串
                兩者區別在與,雙引號內的內容可以進行參數和變量替換
(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
 

★  樊強制作 歡迎分享  ★