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
Linux Shell參數替換 http://www.linuxidc.com/Linux/2013-06/85356.htm 正則表達式
Shell for參數 http://www.linuxidc.com/Linux/2013-07/87335.htm shell
Linux/Unix Shell 參數傳遞到SQL腳本 http://www.linuxidc.com/Linux/2013-03/80568.htm 編程
Shell腳本中參數傳遞方法介紹 http://www.linuxidc.com/Linux/2012-08/69155.htm spa
Shell腳本傳遞命令行參數 http://www.linuxidc.com/Linux/2012-01/52192.htm命令行