當前位置:
首頁 > 知識 > Linux系統學習之路——腳本體會

Linux系統學習之路——腳本體會

接觸linux三年多了,真正應用到工作中也只有半年時間。自己也從一個大白,變成小白。 進入學習之後,才發現學海無涯。同時也是一條不歸路。。。呵呵 這個給大家分享一些自己在學習寫shell script 過程中體會。

看過劉老師的《Linux就該這麼學》。之前我也有寫過一些的學習分享,有介紹過vi , vim編輯器。建議如果在生產伺服器上,一定是最小化安裝。 大家都知道,把有限的資源分給真正能產生價值的應用服務,給它們使用。 平時,我們都是在本地或者測試伺服器上,編寫腳本。 工善利於事,必先利於器。對於vim的各種模式,一些快捷鍵等等,你都得瞭然於心。那可以大大方便你的效率。關於vim 或者 vi 的一些操作,我們就不多贅述。下面我們講一講,我跟據老師講解還有自己的一些理解,分享給大家一些寫shell腳本的想法。

那什麼是shell呢?

我們先說一下一些電腦基本的東西。電腦硬體是最基本的底層, 操作系統呢?在硬體之上,緊挨著電腦的硬體,是最基礎的軟體,是應用軟體和硬體之間起橋樑溝通的作用,應用軟體又在在操作系統之上。通過操作系統完成它所要實現的功能。管理整個電腦硬體的其實是,操作系統的kernel, 中文翻譯叫內核。 這個內核是被保護起來的。 我們一般用戶,通過shell來與操作系統的內核來通信。

什麼是shell script呢?上面我們已經簡單介紹shell是什麼。 script 是腳本的意思。 shell script就是程序化的腳本。利用shell的豐富功能寫一個小程序。包括shell命令、語法,正則,管道,數據重定向等等功能達到我們想到的目的。

為什麼要寫腳本?

我們在伺服器通過命令各種操作,實現所需求。 操作完之後命令基本就不能用了。再一批新的伺服器。我們還得重新把命令操作一遍。費時費力等等等等。工作可以分為自動處理,手動處理。 自動處理可以幫我們大大提高工作效率。這也是自動化運維管理的重要基礎。把之前系統的操作命令,按一定的順序及格式放到文件里。 再次執行相同的操作時,直接運行腳本就可以。 它可以幫助我們實現功能需求。就是有批量批量的伺服器,我們也不用擔心了。交給腳本就可以。複雜過程模塊化,簡單化流程標準化。這樣它可以幫助我們節省很多無必要的工作。 腳本一直可以執行一些操作,幫助我們隨時檢測很多東西,等等,它的好處,是你想像不到的。

寫腳本要注意那些呢?

我們先說一下,與腳本要注意的地方。 命令是從上而下,由左到右分析並執行的。命令與參數之前一些空格或者tab或者空白行都會被忽略。# 符號,可以做為注釋批註。後面的所有命令等等,都不會分析執行。

如何讓腳本執行呢?

前提,腳本得有讀和執行的許可權。直接執行,用腳本的絕對路徑,在終端,直接輸入就可以; 對應的相對路徑也可以執行; 也可把腳本放到環境變數的路徑下。 還一種是指定bash進程來執行。 基本上就這些辦法。

養成良好的寫腳本習慣。

現在都是團隊化工作。你寫的腳本不只你一個人用。 所有人都可能用。 這個必須有一個好的習慣。一些約定俗成的東西,一般都要遵守。 增加腳本的可讀性與易用性。方便別的使用與維護。就拿腳本的開頭幾行來說。做好功能,版本的信息,作者還有溝通的方式, 最重要的是,一些比較特殊的環境變數。 要說明。每個人的電腦環境都不一樣。 這一點十分重要。做好合理的注釋說明信息。 還有呢?之前提到過的,編寫script 要用vim, 它有自動檢查語法功能。如果語法有異常,會有相應的提示。 命令的格式, 同極命令採用相同的縮進。可以大大提高可讀性的。

寫腳本的思路?

那腳本如何寫,很多人讓為腳本很難。沒有思路? 那隻能說明,你對shell命令不是了解。寫腳本,先要明白你要幹什麼事情。 那些命令可以幫你實現。 這樣就有了思路了。其實很簡單,你要什麼事情,先同一如電腦上操作一遍。達到你想要結果。 過程中注意每個命令的細節,都必需得關注到。功能需求完成之後呢? 通過歷史命令,把過程好好整理一下。 按序及格式放到.sh 文件里。 這樣你的腳本基本就成一半了。

其餘的呢?加上判斷,循環。 數據重定向。基本你的腳本就好了。更的的話,可以模塊化,采作函數的方式。 更有條理,功能分明。 在這過程當中,你可以找到當中的共性,設置為參數。 增加腳本的易用性。

等等。。。 千里之行,使於足上。 只有基礎紮實。思路清析。寫腳本一般都沒有問題。還要記得,站在巨人的肩上。 多看一些牛人大咖寫的腳本。看人家的思路與結構。會收益良多。一起努力學習吧!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux資訊速推 的精彩文章:

Linux Kernel 4.15 RC9已發布,正式版預計延期到下周

TAG:Linux資訊速推 |