next up previous contents
Next: Shell 是一種程式語言 Up: Shell Scripts Previous: 前言   Contents

第一支腳本

  1. 建立撰寫 shell script 的良好習慣,在每個 script 的檔頭記錄下列資訊,以助程式的改寫與 debug:
    1. 功能;
    2. 版本資訊;
    3. 作者與聯絡方式;
    4. 版權宣告方式;
    5. History (歷史紀錄);
    6. script 內較特殊的指令,使用絕對路徑的方式來下達;
    7. script 運作時需要的環境變數預先宣告與設定。
  2. 撰寫第一支 script 印出 "Hello World"
    [dywang@dywmac zzz]$ cd
    [dywang@dywmac ~]$ cd zzz
    [dywang@dywmac zzz]$ vim sh01.sh
    [dywang@dywmac zzz]$ cat sh01.sh
    #!/bin/bash
    # Program:
    #       This program is used to show "Hello World !" in screen.
    # History:
    # 2019/04/25 dywang First release
    
    echo -e "Hello World ! \a \n"
    exit 0
    
  3. 腳本說明:
    1. 程式內容的宣告:script 當中,除了第一行的 #! 是用來宣告 shell 外,其他的 # 都是『註解』。
    2. 主要環境變數的宣告:例如 PATH。
    3. 主要程式部分: echo 選項 -e 代表解釋倒斜線 \ 跳脫字元。 \a 為警告;\n 為換行。
    4. 執行成果告知:
      1. 可以利用指令 exit 讓程式中斷,並且回傳一個數值給系統。
      2. 在此例中使用 exit 0 ,代表離開 script ,並且回傳 0 給系統。
      3. 指令執行成功與否,可下達 echo $? 觀察回傳值。
      4. 利用 exit n 的功能,可以自訂錯誤訊息。
  4. 使用 sh 執行 sh01.sh
    [dywang@dywmac zzz]$ sh sh01.sh 
    Hello World !
    
  5. 成功執行 sh01.sh,回傳值 0。
    [dywang@dywmac zzz]$ echo $?
    0
    
  6. 設定 sh01.sh 為可執行檔,直接執行 sh01.sh,此時會以腳本中第一行宣告的命令 /bin/bash 執行。
    [dywang@dywmac zzz]$ chmod +x sh01.sh 
    [dywang@dywmac zzz]$ ./sh01.sh 
    Hello World !
    



De-Yu Wang 2019-08-12