Shell腳本語言是實現Linux/UNIX系統管理及自動化運維所必備的重要工具,Linux/UNIX系統的底層及基礎應用軟件的核心大部分涉及Shell腳本的內容。每個合格的Linux系統管理員或運維工程師,都須要熟練的編寫Shell腳本語言,並可以閱讀系統及各種軟件附帶的Shell腳本內容。只有這樣才能提高運維人員的工做效率,適應日益複雜的工做環境,減小沒必要要的重複工做,從而爲我的的職場發展奠基較好的基礎。linux
可以熟練使用vim編輯器,熟悉SSH終端git
有必定的Linux命令基礎,至少須要掌握80個以上Linux經常使用命令,並可以熟練使用它。github
要熟練掌握Linux正則表達式及三劍客命令(grep,sed,awk)正則表達式
學好Shel編程的核心:多練-->多思考-->再練-->再思考,堅持如此循環便可!shell
新手大忌:不可拿來主義,能夠模仿,可是要本身嚼爛了吃下去,不然會鬧肚子。編程
shell 是命令解釋器,它在操做系統的最外層,負責直接與用戶對話,把用戶的輸入解釋給操做系統,並處理各類各樣的操做系統的輸出結果,輸出屏幕返回給用戶。vim
1)交互的方式:從鍵盤輸入命令,經過/bin/bash 解析,能夠當即獲得shell的迴應bash
2)非交互的方式:腳本運維
1)內置命令:講過的cd ,pwd, exit 和echo 等命令,當用戶登錄系統後,shell 以及內置命令就會被系統載入到內存,而且一直運行。編輯器
2)通常命令:如ls, 磁盤上的程序文件——》調入內存——》執行命令
下圖黃色部分就是命令解釋器shell
Shell的英文意思是貝殼的意思,命令解釋器Shell像一個貝殼同樣包住系統核心。
Shell執行命令分爲兩種方式:
當linux命令或語句不在命令行下執行(嚴格說,命令行也是shell)而是經過一個程序文件執行時,該程序就被稱爲Shell 腳本或shell 程序。
用戶能夠在shell 腳本中敲入一系列的命令及命令語句組合。這些命令,變量和流程控制語句等有機會的結合起來就造成一個功能強大的Shell腳本。
1)有沒有腳本放在統一的目錄
2)權限:用哪一個用戶執行文件
3)清空文件怎麼辦,該怎麼辦
4)錯誤提示:有沒有成功知不知道
5)腳本通用性
shell腳本擅長處理純文本類型的數據,而linux中幾乎全部配置文件、日誌文件等都是純文本類型文件。
寫一個腳本須要注意哪些地方