Linux的萬用字元(wildcard)和bash下的特殊符號
在 bash 操作環境中有一個非常有用的功能,那就是萬用字元 (wildcard) !有了wildcard利用 bash 處理資料就方便了!底下我們列出一些常用的萬用字元:
符號 意義* 代表『 0 個或無窮多個』任意字元
? 代表『一定有一個』任意字元
[ ] 同樣代表『一定有一個在括號內』的字元(非任意字元)。例如 [abcd] 代表『一定有一個字元, 可能是 a, b, c, d 這四個任何一個』
[ - ] 若有減號在中括號內時,代表『在編碼順序內的所有字元』。例如 [0-9] 代表 0 到 9 之間的所有數字
[^ ] 若中括號內第一個字元為符號 (^) ,那表示『反向選擇』,例如 [^abc] 代表 一定有一個字元,要是非 a, b, c 的其他字元就行。
除了萬用字元之外,bash 環境中的特殊符號有哪些呢?底下我們先彙整一下:
符號 內容
# 批註符號:這個最常被使用在 script 當中,規為說明!
\ 跳脫符號:將『特殊字元或萬用字元』還原成一般字元| 管道 (pipe):分個兩個管道命令的界定;
; 連續指令下達分隔符: (注意!與管道命令不相同)
~ 使用者家目錄
$ 取用變數前導符:亦即是取用變數前需要加的變數取代值
& 工作控制 (job control):將指令變成成背景下工作
! 邏輯運算意義上的『非』 not 癿意思!
/ 目錄符號:路徑分隔的符號>, >> 資料流重導向:輸出導向,分刪是『叏代』不『累加』
<, << 資料流重導向:輸入導向 (這兩個留待下節介紹)
' ' 單引號不具有變數置換的功能
" " 具有髮量置換的功能!
` ` 兩個『 ` 』中間為可以先執行的指令,亦可使用 $( )
( ) 在中間為子 shell 的起始不結束
{ } 在中間為命令區塊的組合!