Shell? 編程基礎:? 因為 Web?集群架構會用到 Shell?編程基礎
Shell? 的基本介紹:
1、為什么要學習 Shell 編程呢?
????????? 作用:Linux系統中會大量的使用Shell,工作中我們也需要自動化實現業務。
????????? 列如:自動備份,監控,自動安裝服務
????????? Shell編程是Linux運維人員必須要會的編程語言。它是最簡單的編程語言。
????? ??? 編程也是運維人員必須要具備的本領:
???????????????? Shell,python是運維人員必須要具備的本領
2、什么是Shell?
????? Shell就是一個解釋器,命令行的命令以及腳本都會通過Shell解釋,傳給操作系統,處 理后在輸出給用戶。
3、 Shell的分類 C7查看shell的命令:cat /etc/shells
4、CentOS7的默認Shell?????? echo? $SHELL查看
5、什么是Shell腳本?
???? 一般我們會把程序,命令放入文件里執行,這個文件就稱之為Shell腳本文件。
??? 一般我們會把程序,命令放入命令行里執行,這個文件就稱之為Shell腳本文件。
??? 工作中最多的編程腳本,存放在文件里。
6、Shell變量:變量是可以變的量
一般分為兩種:
1、全局變量:(又稱為環境變量)
????? 在整個系統中生效,一般是大寫,系統中默認存在的這些變量,滿足系統和程序運行的需求。
???????? 輸出一個變量內容的時候就加$變量名
2、局部變量(又稱為普通變量)
???????????? 是編寫Shell腳本最常用的變量
???????????? 變量名=值
???????????? 列如:a=1,變量名:數字、字母、下劃線,不能以數字開頭,常見的以字母開頭。
????????????????????????????????? =在這里表示的是:賦值符,把什么東西給誰。賦值符合里面不能有空格。
引用內容的符號:單引號(所見即所得),雙引號(把引號里邊的特殊符號解析),反引號(一般用于命令),不加引導
7、表達式:
????? [?? ]中括號表達式:中括號內兩端必須要有空格(Shell編程里)
???? 整數表達式:
????????????????????? ??>???????? ?-gt
??????????????????????? >=????? ? -ge
???????????????????????? <??????????-lt
???????????????????????? <=????????-le
???????????????????????? =??????????-eq
????????????????????? 不等于??? ?-ne
1、整數表達式 兩端必須要有空格 2、中括號里面兩端必須要有空格 3、變量和比較的內容,不需要引號
判斷句:if判斷句語法:if(如果)
??????????????????????????????????????then(那么)
???????????????????????????????????????????????? (命令)
????????????????????????????????????? fi(表示以上一個腳本或循環)
也可以在then(那么后加)elif【否則】
8、read命令:
read命令 讀取用戶輸入
參數: -p “提醒”
-t “多長時間內等待輸入”
9、for 循環
for n in 取值列表
do
???????? 執行命令
done(結束)