歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

學習 shell scripts

  干嘛學習 Scripts   這個問題可有趣的很了,我為什麼要學習 scripts 呢?不要學可不可以呀!?呵呵!如果您只想要『會用』 Linux 就好的話,那麼這一個部分確實可以先跳過去不看也沒關系,不過,如果您想要更加的了解與控制 Linux ,使 Linux 運作更順暢之外,還可以高枕無憂的讓你的 Linux Server 在 Internet 上面提供相關服務的話,那麼 scripts 還是多少學一學吧!為什麼呢?因為 scripts 可以設計到『很聰明的知道什麼條件之下需要進行什麼動作!』不要小看這個功能呦!當您不在電腦前面的時候,突然之間,主機被一些不明封包試圖入侵了,這個時候如果你的 Linux 主機可以透過『當該封包嘗試幾次還是連線失敗之後,就予以抵擋住該 IP 』,如果可以設計到如此功能的話,呵呵!那麼可就不得了了!您的 Linux 主機就可以說是『好聰明呀! smart!』  除了針對主機之外,其實 scripts 還有相當多的運用功能呦!例如您想要在 Linux 上面作你的作業,而這個作業是一些數值方面的計算,這個時候 Scripts 也可以幫您計算呦!還不需要用到 fortran, c 這類高階的程式語言呢! scripts 本身就是一個可以用的 program 啰!相當的棒吧!其實, scripts 最開始被新手使用的功能就是『匯整一些在 command line 下達的連續指令,將他寫入 scripts 當中,而由直接執行 scripts 來啟動一連串的 command line 指令輸出入!』例如: 防火牆連續規則 ( iptables ),開機載入程序的項目 ( 就是在 /etc/rc.d/rc.local 裡頭的資料 ) ,等等都是相似的功能啦!   另外的另外,在編寫 scripts 時,在 Linux 當中,最常使用的就是 vi 這一套文書編輯器了,所以啰,為了更簡易的控管我們的 Linux ,嗯!還是學習一下好了啦!好不好呀! ^_^,學習本章之前,請務必先完成底下的文件閱讀:   · 學習 vi 文書編輯器;   · 認識 bash shell ;   · 認識檔案屬性。      scripts 的執行與第一支 scripts   · scripts 的執行:   嗯!在上一章 bash shell 當中說了一堆變數啦!管線指令啦!等等的,都是為了接著而來的 scripts 的咚咚啦!什麼是 script 啊?由字面上的意思來說, script 就是『腳本、劇本』的意思,那夠清楚了吧!就是將我們要執行的內容寫成一個『腳本』,讓系統依據這個『腳本』來執行我們想要的東西!好了!現在我們來討論一下怎麼寫 scripts 好了!基本上,一個 script 被執行的時候, bash 會據以判斷執行的步驟為:   1. 如果讀取到一個 Enter 符號( CR ),就嘗試開始執行該行命令;   2. 如同前面 bash command 提到的,指令間的多個空白會被忽略掉;   3. 而空白行也將被忽略掉!,並且 tab 也是不會被理會的!   4. 至於如果一行的內容太多,則可以使用 \ 來延伸至下一行;   5. 此外,使用最多的 # 可做為注解!任何加在 # 後面的字,將全部被視為注解文字而被忽略!   然後,在撰寫一個 scripts 的時候,最好養成良好的習慣:   1. 先宣告使用的 shell 為何?(特別留意這一點,在某些狀況中,例如 /etc/crontab 情況下,如果沒有宣告使用的 shell ,常常會出現錯誤訊息而導致 scripts 無法被執行呦!)   2. 注明該 script 的內容功能、版本資訊、作者、建檔日期等等   3. 每一個大步驟的主要功能(也順便提供自己未來修改之用!)   那麼 scripts 這個檔案要如何來執行呢?執行的方法有兩種:   · 一個是將該檔案改成可以執行的屬性,如chmod 755 scripts.file ,然後執行該檔案;   · 另一種則是直接以 sh 這個執行檔來執行 script 的內容,如 sh scripts.file!   大致上就是這樣啦!OK!那麼還記得我們在前面一章已經說過了變數的設定方式了吧?好了,那麼我們就以第一支 scripts 來將我們設定的變數直接給他 show 出來!嗯!來設計一下這支 script 吧!  · 建立你的第一支 script:   好了,我們來建立第一支簡單的 script 吧!最簡單的一個例子,就是在螢幕上列出『 Hello ! How are you ?』,可以這樣寫:(注:最常使用來作為 shell scripts 的寫作的軟體,就是 vi 啦!有空真的要多熟悉一下 vi 呦!)      [root @test /root]# mkdir test; cd test  VBird Tsai  就是這麼簡單,我們後面還會繼續的談到判別式,那個時候輸入的資料可就更重要了!  好了!下一步我們再來說一說怎樣定義一個 script 的參數的代號!?以底下我們的說明為例:      [root @test test]# myscript opt1 opt2 opt3 opt4           $0




Copyright © Linux教程網 All Rights Reserved