next up previous contents
Next: 善用判斷式 Up: Shell Script Previous: Shell Script   Contents

前言

  1. 何謂 Shell Script
    1. 文字介面下讓使用者與系統溝通的一個工具介面。
    2. 利用 shell 的功能所寫的一支『程式 (program)』。
    3. 將一些 shell 的語法與指令寫成純文字檔;
    4. 可搭配正規表示法、管線命令與資料流重導向等功能;
    5. shell script 更提供陣列、迴圈、條件與邏輯判斷等重要功能;
    6. 使用者也可以直接以 shell 來撰寫程式。
  2. Shell scripts 執行流程:

    \begin{picture}(150,180)
\setlength{\unitlength}{1mm}
\put(35,55){\vector(-1,0)...
...er(15,0)(23,3)(30,0)}
\multiput(15,20)(0,15){3}{\vector(0,-1){5}}
\end{picture}
  3. 為什麼要學習 shell scripts?
    1. 自動化管理的重要依據:自動處理分析主機狀態,若有問題才通知。
    2. 追蹤與管理系統的重要工作:Linux 系統的服務( services )啟動的介面,在目錄 /etc/init.d/ 下,所有的檔案都是 scripts。
    3. 簡單入侵偵測功能:主動分析系統登錄檔。
    4. 連續指令單一化:彙整在 command line 下達的連續指令。例如: /etc/rc.d/rc.local 裡的資料。
    5. 簡易的資料處理:處理數據資料的比對,文字資料的處理等。
    6. 跨平台支援與學習歷程較短:幾乎所有的 Unix Like 上面都可以跑 shell script 。
    7. shell script 是一項很好的系統管理工具,但數值運算的速度較慢,且使用的 CPU 資源較多。
  4. Scripts 撰寫注意事項:
    1. 指令與參數間的多個空白會被忽略掉;
    2. 空白行及 [tab] 不會被理會;
    3. 讀到 [Enter] 符號,就開始執行該行命令;
    4. 一行的內容太多,可以使用 \[Enter] 來延伸至下一行;
    5. 加在 # 後面的字,全部被視為註解。
  5. 如何執行檔案 shell.sh ?
    1. 將 shell.sh 加上可讀與執行 (rx) 的權限,就能夠以 ./shell.sh 執行;
    2. 直接以 sh shell.sh 方式執行。
  6. 程式內容的宣告:script 當中,除了第一行的 #! 是用來宣告 shell 外,其他的 # 都是『註解』。
  7. 可以利用指令 exit 讓程式中斷,並且回傳一個數值給系統。
  8. 利用 exit n 的功能,可以自訂錯誤訊息。



De-Yu Wang 2018-09-07