shell中除了普通字元外,還有很多具有特殊含義和功能的字元
1.萬用字元
*: 任意長度的字串
?: 匹配任一單個字元
: 匹配其中的任意乙個字元,例如:[abc]匹配a或b或c, 也可這樣表示[a-z], 但'-'在外只是乙個普通字元,*和?在中也變成了普通字元.
2.引號
單引號' : 稱為 強引用 或 全引用, 在'...' 中的所有字元都視作普通字元,包括($)(\)(`),但 ' 不能出現在'...'中,否則shell無法判斷單引號的起始位置.
雙引號": 稱為 弱引用 或 部分引用, 在"..."中除了($)(\)(`)保留其特殊用途外,其餘字元都作為普通字元處理.
3.注釋符
#: 以#開頭的部分shell直譯器都會略過.但#!除外.
#!: 其後跟執行此指令碼的可執行程式(直譯器),而且#!必須在指令碼的第一行.
4.大括號
大括號的變數擴充套件:
$取出變數var的值
$如果var沒有定義,則以$default作為其值
$如果var沒有定義,或者值為空,則以$default作為其值
$如果定義了var,則值為$value,否則為空字串
$如果定義了var並且不為空值,則值為$value,否則為空字串
$如果var沒有被定義,則列印$msg
$如果var沒有被定義或未賦值,則列印$msg$$
匹配所有以prefix開頭的變數
$返回$str的長度
$從位置$position處提取字串
$從位置$position處提取長度為$length的字串
$從變數$str的開頭處開始尋找,刪除最短匹配$substr的字串
$從變數$str的開頭處開始尋找,刪除最長匹配$substr的字串
$從變數$str的結尾處開始尋找,刪除最短匹配$substr的字串
$從變數$str的結尾處開始尋找,刪除最長匹配$substr的字串
$使用$replace替換第乙個匹配的$substr
$使用$replace替換所有匹配的$substr
$如果$str以$substr開始,則用$replace來代替匹配到的$substr
$如果$str以$substr結束,則用$replace來代替匹配到的$substr
5.萬用字元擴充套件:(匹配多個排列組合的可能)
比如座標:
#echo
x1y1 x1y2 x1y3 x2y1 x2y2 x2y3 x3y1 x3y2 x3y3
比如檔名:
#touch file_
#ls file_
file_1 file_2
6.語句塊
大括號還用於構造語句塊,語句之間使用回車隔開
7.控制字元:(即ctrl+key組合鍵一起使用,用於修改終端或文字顯示,【控制字元不能再指令碼中使用,只能與shell進行互動使用】)
如表:ctrl+b
退格但是不刪除掉前面的字元
ctrl+c
終結當前前台作業
ctrl+d
結束符,可用於退出當前shell或結束當前輸入
ctrl+g
系統輸出一聲鳴叫
ctrl+h
退格且刪掉前面的字元
ctrl+l
清屏,和clear效果一樣
ctrl+i
水平製表符
ctrl+k
垂直製表符
ctrl+j
另起一行
ctrl+m
回車ctrl+z
暫停前台作業
ctrl+v
在vim中操作visual block
ctrl+u
刪除游標到行首的所有字元
8.其他
反引號 `: 命令替換,和$()的作用相同,表示返回當前命令的執行結果並賦值給變數
位置引數:$0:指令碼名本身
$1、$2...$:指令碼的第乙個引數、第二個引數....第十個引數
$#:變數總數.
$*、$@:顯示所有的引數.
$?:前乙個命令的退出的返回值.
$!:最後乙個後台程序的id號.
感嘆號:通常為邏輯反,也可用於執行history中某個命令:例如:!100【為hsitory中行號為100的命令】
Shell指令碼常識 (特殊字元)
shell中的特殊字元有 1 美元符 2 反斜槓 3 反引號 4 雙引號 5 下面我一一舉列說明 一 符號 1 echo 顯示的是上一條指令退出狀態 2 echo 效果同上 3 echo 顯示的是 4 echo 顯示的是 5 echo 顯示的是 大家可能已經看出 符號在雙引號中具有特殊意義 雙引號對...
Shell指令碼特殊字元 轉義字元輸出
一些字母前加 來表示常見的那些不能顯示的ascii字元,如 0,t,n等,就稱為轉義字元,因為後面的字元,都不是它本來的ascii字元意思。輸入 a輸出警告音 b退格,即向左刪除乙個字元 c取消輸出行末的換行符,和 n選項一致 eesc f換頁符 n換行 r回車 t製表,即tab v垂直製表符 0n...
SHELL特殊字元
字元含義 1 通常用於注釋,通常 前後留乙個空格 2 某些模式匹配如sed,數值常量表示式 及引數替換 中也使用 命令分割符,允許單行寫多個的命令,例 echo var1 echo var2 case 的選項結尾符 1 等同與source命令,載入指令碼檔案,可理解為python的import 2 ...