后端 | Shell知識速學(xué)
一、Shell腳本
1、編寫一個簡單的shell腳本
2、運行shell腳本
二、基礎(chǔ)語法
1、變量
定義變量:
只能使用英文字母、數(shù)字和下劃線,首字母不能以數(shù)字開頭。
不能使用bash里面的關(guān)鍵字,可以使用help命令查看保留關(guān)鍵字。
使用變量:
只讀變量:
刪除變量:
變量類型:
局部變量:在腳本或者命令中定義,僅在當(dāng)前shell實例中有效,其他shell啟動的程序不能訪問局部變量。
環(huán)境變量:所有的程序,包括shell啟動的程序,都能訪問環(huán)境變量,有些程序需要環(huán)境變量來保證其正常運行。
shell變量:由shell程序設(shè)置的特殊變量。shell變量中有一部分是環(huán)境變量,由一部分是局部變量。
2、字符串
定義:
拼接字符串:
獲取字符串長度:
提取子字符串:
查找字符串:
3、數(shù)組
定義:
讀取數(shù)組:
獲取數(shù)組長度:
關(guān)聯(lián)數(shù)組:
4、注釋
shell注釋以#開頭。
如果遇到一大段代碼需要注釋,可以把這段代碼用一對花括號括起來,定義成一個函數(shù),沒有地方調(diào)用整個函數(shù),這段代碼就不會執(zhí)行,達到了注釋的效果。
5、傳遞參數(shù)
執(zhí)行shell腳本的時候,可以向腳本傳遞參數(shù),腳本內(nèi)獲取參數(shù)的方式為:$n,$0為執(zhí)行的文件名(包含文件路徑),$1為執(zhí)行腳本的第一個參數(shù)...
6、運算符
算數(shù)運算符:
關(guān)系運算符:
布爾運算符:
邏輯運算符:
字符串運算符:
文件測試運算符:
7、流程控制
shell的流程控制不可為空,如果沒有語句,就不要寫。
if else:
for循環(huán):
while語句:
無限循環(huán):
until循環(huán):
case...esac:
跳出循環(huán)break與continue:
8、函數(shù)
定義:
函數(shù)參數(shù):函數(shù)體內(nèi),使用$n的形式來獲取參數(shù),比如$1表示第一個參數(shù)...
9、輸入/輸出重定向
輸出重定向:
輸入重定向:
/dev/null文件:
10、文件包含
shell也可以包含外部腳本。
三、命令
1、echo命令
echo命令用于字符串的輸出。
2、printf命令
默認的printf不會像echo一樣自動添加換行符,可以手動添加換行\(zhòng)n。
3、test命令
用于檢查某個條件是否成立,可以進行數(shù)值、字符和文件三個方面的測試。
數(shù)值測試:
字符串測試:
文件測試: