一。函數mysql
1.函數格式nginx
2.函數傳入參數面試
3.手動輸入函數中的參數sql
4.函數返回值shell
成功返回0,失敗返回1oracle
5.輸入一個目錄,判斷目錄是否存在,若是不存在則給出提示,若是存在則提示輸入要建立的文件名,判斷建立的文件是否存在,若是不存在,則繼續建立,不然提示該文件已經存在函數
二。自動化部署實戰測試
1.spa
shell總結:
shell目標:
1.Linux命令熟悉
2.可以自動部署測試環境(mysql/nginx/項目)
3.面試用
shell內容:
變量:變量名=變量值
等號兩邊不能有空格
變量名不能爲數字開頭、字母、數字、下劃線組成
特殊變量定義:雙引號、單引號、反單引號
變量值輸出:echo $變量名
變量釋放:unset 變量名
輸入操做:
read 變量名 變量名 變量名----->變量名之間用空格隔開
read -p 「提示信息」 變量名
參數傳遞:向.sh文件傳遞數據
$1/$2/$3....
$0--->文件名
$@--->全部參數
$#--->參數個數
重定向:
將結果輸出到文件中
正確的命令: 用1表示, 命令 1>文件名 ,命令 1>>文件名
錯誤的命令:用2表示, 命令 2>文件名 ,命令 2>>文件名
程序結構
分支:
if...else分支:注意:if和[之間有空格、條件和中括號之間有空格、條件和條件之間有空格,條件中存在變量,變量名兩邊使用雙引號
邏輯運算符: -a / -o / !
比較運算符:-eq/-ne/-ge/-gt/-le/lt
字符串比較: == !=
test 參數 變量名
參數 變量名
if...elif...else分支
case分支:
第一行最後必須爲in
語句結束;;
值:能夠字符串、數字、能夠是區間範圍[0-9]
結束:esac
循環
for循環
seq start size max---->分別表示開始點、步長、結束點
while循環
變量的變化:i=i+1---->表示的形式
多個變量間操做------>表示的形式
函數
定義:函數名(){}
調用:函數名 ----》必須先定義再調用
函數傳參:用$n來接收傳遞的數據
函數的返回值:默認都有一個默認的返回值,正確(無錯誤命令)的函數---->返回值默認爲0,錯誤的命令--->返回值默認爲1,查看函數的返回值:$?3d
自動化部署實戰:oracle的部署過程
涉及知識點:
查看文件中的前n條數據:head -n
在文件中查看內容:grep "內容" 文件名
剪取文件中的內容:cut
cut:
按照字節進行剪取---->空格:1個字節,字母、數字:1個字節,漢字:3個字節-----> 參數 : -b
按照字符剪取----->空格、數字、字母、漢字:1個字符---->參數: -c
按照域剪取-----> -d:表示使用的分隔符, -f:要剪取的第幾個域
向文件中插入內容
sed -i "行號a內容" 文件名 sed -i "行號i內容" 文件名 部署: 經過函數之間的相互調用實現 (先腳本文件時,先流程圖,再腳本)