變量設(shè)置方式 | |
---|---|
{變量##關(guān)鍵字} | “#”若變量內(nèi)容從頭開始的數(shù)據(jù)符合“關(guān)鍵字”,則將符合的最短數(shù)據(jù)刪除 “##”若變量內(nèi)容從頭開始的數(shù)據(jù)符合“關(guān)鍵字”骨望,則將符合的最長數(shù)據(jù)刪除 |
{變量%%關(guān)鍵字} | “%”若變量內(nèi)容從尾向前的數(shù)據(jù)符合“關(guān)鍵字”,則將符合的最短數(shù)據(jù)刪除 “%”若變量內(nèi)容從尾向前的數(shù)據(jù)符合“關(guān)鍵字”尤泽,則將符合的最長數(shù)據(jù)刪除 |
{變量//舊字串/新字串} | "/"若變量內(nèi)容符合“舊字串”則第一個舊字串會被新字串取代 "http://"若變量內(nèi)容符合“舊字串”則全部舊字串會被新字串取代 |
變量設(shè)置方式 | str沒有設(shè)置 | str為空字串 | str已設(shè)置非空字符串 |
---|---|---|---|
var=${str-expr} | var=expr | var= | var=$str |
var=${str:-expr} | var=expr | var=expr | var=$str |
var=${str+expr} | var= | var=expr | var=expr |
var=${str:+expr} | var= | var= | var=expr |
var=${str=expr} | var=expr str=expr | str不變 var= | str不變 var=$str |
var=${str:=expr} | str=expr var=expr | str=expr var=expr | str不變 var=$str |
var=${str?expr} | expr輸出至stderr | var= | var=$str |
var=${str:?expr} | expr輸出至stderr | expr輸出至stderr | var=$str |
bash默認(rèn)組合鍵 | 執(zhí)行結(jié)果 |
---|---|
Ctrl+C | 終止目前的命令 |
Ctrl+D | 輸入結(jié)束(EOF)乖阵,例如郵件結(jié)束的時候 |
Ctrl+M | 就是Enter鍵 |
Ctrl+S | 暫停屏幕的輸出 |
Ctrl+Q | 回復(fù)屏幕的輸出 |
Ctrl+U | 提示字符串下栖疑,將整列命令刪除 |
Ctrl+Z | 暫停目前的命令 |
符號 | 意義 |
---|---|
* | 代表“0個到無窮多個“任意字符 |
? | 代表一定有一個任意字符 |
[] | 同樣代表“一定有一個在括號內(nèi)的字符”(非任意字符)产园。例如[abcd]代表“一定有一個字符”汞斧,可能是a,b什燕,c粘勒,d這四個任何一個 |
[-] | 若有減號在中括號內(nèi)時,代表“編碼順序內(nèi)的所有字符”屎即。例如[0-9]代表0-9之間所有的數(shù)字庙睡,因為數(shù)字的語系編碼是連續(xù)的事富。 |
[^] | 若中括號內(nèi)的第一個字符為指數(shù)符號(),那表示“反向選擇”乘陪,例如[abc]代表一定有一個字符统台,只要是非a,b暂刘,c的其他字符就接受的意思 |
除了萬用字符之外饺谬,bash環(huán)境中的特殊符號
符號 | 內(nèi)容 |
---|---|
# | 注解符號:這個最常被使用在script當(dāng)中捂刺,視為說明谣拣。在后的內(nèi)容均不執(zhí)行 |
\ | 跳脫符號:將“特殊字符或萬用字符”還原成一般字符 |
| | 管線(pipe):分割兩個管線命令的界定 |
; | 連續(xù)指令下達分隔符:連續(xù)性命令的界定(與管道符命令并不相同) |
~ | 使用者的主文件夾 |
$ | 取用變量前置字符:亦即是變量之前需要加的變量取代值 |
& | 工作控制(job control):將指變成背景下工作 |
! | 邏輯運算意義上的“非”not的意思 |
/ | 目錄符號:路徑分割的符號 |
>,>> | 數(shù)據(jù)流重導(dǎo)向:輸出導(dǎo)向,分別是“取代”和“累加”得意思 |
<,<< | 數(shù)據(jù)流重導(dǎo)向:輸入導(dǎo)向 |
' ' | 單引號族展,不具有變量置換的功能($變?yōu)榧兾谋? |
" " | 具有變量置換的功能($可保留相關(guān)功能) |
` ` | 兩個"`"中間為可以先執(zhí)行的指令森缠,亦可使用$() |
() | 在中間為子shell的起始與結(jié)束 |
{} | 在中間為命令區(qū)塊的組合 |