Shell腳本語言是實現Linux/Unix系統管理及自動化運維所必須的工具!Linux/Unix系統的底層及基礎應用軟件的核心大都涉及shell腳本的內容。每一個合格的Linux系統管理員或運維工程師,都需要能夠熟練地編寫shell腳本語言,並能夠閱讀系統及各類軟件附帶的shell腳本內容!
一、什麼是shell
簡單的來說,shell就是一個“命令解釋器”,將我們輸入的命令翻譯給系統,再把系統的回覆內容翻譯給我們!
二、什麼是shell腳本
Shell腳本是相對shell來說的!你寫的shell語句,保存在一個文件中,那麼這個文件就是shell腳本!相當於Windows系統中的bat(批處理)!shell腳本的好處?應該不會有人願意在命令行中敲入一系列的命令及命令語句組合。
三、Shell腳本的語言種類
Shell腳本語言是弱類型語言(無需定義變量的類型即可使用),在Linux和Unix中,主要分為倆大類:“Bourne shell”,C shell!我們平常用到的是Bourne shell大類中的Bourne Again Shell(bash)類型,它是由GUN項目組開發!和Bourne shell(sh)可以相互配合使用,來達到我們的目的。
四、Shell腳本的建立
在Linux中,shell腳本通常是在vi/vim中編寫的,由Unix/Linux命令、bash shell命令、程序結構控制語句和註釋等內容組成。
一般規範的shell腳本在開頭都會指出由那個程序(解釋器)來執行腳本中的內容,例如(!/bin/bash)!同時,我們也要養成加註釋的良好習慣(#號開頭,空格結束)
五、Shell腳本的執行
當shell腳本運行時,它會先查找系統環境變量ENV,等加載完環境變量後就會依據“同步原理”開始執行shell腳本中的內容。
這裡推薦的執行命令為:”bash 腳本名字”或“sh 腳本名字”,這樣當腳本沒有執行權限的時候,我們也可以執行該腳本。
而平常使用最多的是 “./腳本名字”,平常我們進行源碼安裝便是用的該命令,不過目標文件得先獲得可執行權限!
還有幾種執行方法就不列舉了,感興趣的可以去論壇之類的地方學習。
在最後,水猿只想強調一點“開發規範和習慣”!這是新手開發經常會犯的毛病,沒有好的規範,不僅給以後的維護帶來麻煩,等需要修改或重構的時候,自己看著也會頭疼!很明顯的降低我們的工作效率!