Linux的shell特殊字元

2021-07-24 11:14:42 字數 1270 閱讀 7845

1、萬用字元

萬用字元用於模式匹配,如檔名匹配,路徑名搜尋,字串查詢

<1>一般萬用字元

①*星號:匹配任意字元的0次或多次出現,例如:「f*」可以匹配以f開頭的任意字串

②?問號:匹配任意乙個字元,例如:「f?」可以匹配f1,fa,fb等,只代表後面的一位字元 ③

[字元組]:匹配該字元組所限定的任何乙個字元,例如:f[abcd]可以匹配fa,fb,fc,fd也可 以相同地表示為f[a-d]

④感嘆號!

<2>模式表示式

①*(模式表):匹配給定模式表中0次或多次出現的「模式」,各個模式之間用「|」分開,例如: file*(.c|.o)將匹配檔案file.c,file,file.o,file.c.c,file.c.o,file.o.o,file.o.c等

②+模式:匹配給定模式表中一次或多次出現的「模式」,各個模式之間以「|」分開,例如:

file+(.c|.o)匹配檔案file.c,file.o,file.c.o,file.c.c等

③?(模式表):匹配模式表中任何一種0次或1次出現的「模式」,各個模式之間用「|」隔開,例 如:file?(.c|.o)只匹配file,file.c和file.o

④@(模式表):僅匹配模式表中給定一次出現的「模式」,各模式之間以「|」隔開,例如: file@(.c|.o)匹配file.c和file.o

⑤!(模式表):除給定模式表中的乙個「模式」w外,它可以匹配其他任何東西

注意:模式表示式的定義是遞迴的,每個表示式中都可以包含乙個或多個模式

2、引號

①單引號:由單引號括起來的字元作為普通字元出現,包括特殊字元

②雙引號:由雙括號括起來的字元作為普通字元,除了:$表示變數替換,即用預先指定的變數值 代替$和變數;倒引號`表示命令替換;反斜線\僅當其後的字元是$和`,以及\和換行符之一的時 候,\才是轉義字元

③倒引號`:倒引號括起來的字串被shell解釋為命令列,在執行時,shell會先執行該命令列, 並以它的標準輸出結果取代整個倒引號部分

3、輸入/輸出重定向符

①輸入重定向符<:把命令或可執行程式的標準輸入重新定向到指定檔案

②輸出重定向符》:把命令或可執行程式的標準輸出重新定向到指定檔案,該命令的輸出不是顯示在 螢幕上,而是寫入指定檔案中

③輸出附加定向符》:把命令或可執行程式的輸出附加到指定檔案的後面,而該檔案原有的內容不 會被破壞,如果指定的檔案不存在,就新建該檔案

④即時檔案定向符:由重新定向符<<、一對標記符以及若干輸入行組成,把shell程式的輸入行重 新定向到乙個命令

⑤與檔案描述符有關的重定向

shell的特殊字元

點 命令 點 命令是乙個shell內部命令,它可以使使用者在當前的shell中執行程式,而不建立子程序。注釋 shell指令碼的注釋符號 重定向符 用法 command filename,可以將command的輸出儲存在filename檔案中。同 類似,但表示追加。用法 command filena...

SHELL特殊字元

字元含義 1 通常用於注釋,通常 前後留乙個空格 2 某些模式匹配如sed,數值常量表示式 及引數替換 中也使用 命令分割符,允許單行寫多個的命令,例 echo var1 echo var2 case 的選項結尾符 1 等同與source命令,載入指令碼檔案,可理解為python的import 2 ...

shell特殊字元

這篇博文記錄平時工作,shell中讓人犯迷糊的特殊字元。shell中特殊字元挺多,不適合花太多精力去蒐集 整理,我的想法是遇到了便總結下來,寫到這篇文件中,慢慢積累。百分號在計算公式裡可以取餘,這個就不說了。這裡記錄的是,可以按照模板對原字串進行擷取。舉例如下 root timmy scripts ...