Unix Shell 通配符、轉義字符、元字符、特殊字符


shell通配符:  
 
 *     匹配0或多個字符
      a*b  a與b之間可以有任意長度的任意字符, 也可以一個也沒有, 如aabcb, a01b, ab等

 ?     匹配任意一個字符
      a?b  a與b之間有且只有一個字符, 可以是任意字符, 如aab, adb, a0b等
 
 [list]     匹配list中的任意單一字符 
         a[xyz]b  a與b之間有且只有一個字符, 且只能是x或y或z, 如: axb, ayb, azb。
 
 [!list]     匹配除list中的任意單一字符
          a[!0-9]b  a與b之間有且只有一個字符, 但不能是數字, 如axb, aab, a-b等
 
 [c1-c2]     匹配c1-c2中的任意單一字符
            a[0-9]b  a與b之間有且只有一個字符,該字符是0-9之間的數字,如a0b, a1b,... ,a9b。
 
 {string1,string2,...}     匹配 sring1 或 string2 (或更多)其一字符串
          a{abc,xyz,123}b    a與b之間只能是abc或xyz或123這三個字符串之一。

需要說明的是:通配符看起來有點象正則表達式語句,但是它與正則表達式不同的,不能相互混淆。把通配符理解為shell特殊代號字符就可。
 

shell元字符

 =     變量名=值,為變量賦值。注意=左右緊跟變量名和值,中間不要有空格
 
 $     變量值替換,$變量名替換為shell變量的值;為避免在文本連接時混淆,請使用${變量名};$0...$9 代表shell文件的參數。
 
 >     prog > file 將標准輸出重定向到文件。
 
 >>     prog >> file 將標准輸出追加到文件。
 
 <     prog < file 從文件file中獲取標准輸入
 
 |     管道命令,例:p1 | p2 將p1的標准輸出作為p2的標准輸入
 
 &     后台運行命令,最大好處是無需等待命令執行結束,就可以在同一命令行下繼續輸入命令
 
 ()     在子shell中執行命令
 
 {}     在當前shell中執行命令,或用在變量替換的界定范圍(例如上面的${變量名}用法)。
 
 ;     命令結束符。例如p1;p2表示先執行p1,再執行p2
 
 &&     前一個命令執行成功后,才繼續執行下一個命令。例:p1 && p2 ;若p1執行成功后,才執行p2,反之,不執行p2;
 
 ||     前一個命令執行失敗后,才繼續執行下一個命令。例:p1 || p2 ;若p1執行成功后,不執行p2,反之,才執行p2;
 
 !      否,非,取反
~ home目錄 shell轉義字符 '' 單引號,硬轉義,其內部所有的shell元字符、通配符都會被關掉。注意,硬轉義中不允許出現’(單引號)。 "" 雙引號,軟轉義,其內部只允許出現特定的shell元字符($,`,\):$用於變量值交換、`用於命令替換、\用於轉義單個字符 \ 反斜杠,轉義,去除其后緊跟的元字符或通配符的特殊意義。

  Shell編程淺析 http://www.linuxidc.com/Linux/2014-08/105379.htm 

  Linux Shell參數替換 http://www.linuxidc.com/Linux/2013-06/85356.htm 

  Shell for參數 http://www.linuxidc.com/Linux/2013-07/87335.htm   

  Linux/Unix Shell 參數傳遞到SQL腳本 http://www.linuxidc.com/Linux/2013-03/80568.htm 

  Shell腳本中參數傳遞方法介紹 http://www.linuxidc.com/Linux/2012-08/69155.htm 

  Shell腳本傳遞命令行參數 http://www.linuxidc.com/Linux/2012-01/52192.htm

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM