在Bourne Shell中使用者有五種方法請 Shell 執行一個 script, 而這五種方式所產生的結果有些許的不同。 以下的說明中,假設 script 的檔名是'myscript'。
使用方式 檔案權限 使用者下指令 系統執行方式
1. 直接鍵入script檔名 script 必須為可讀可執行,
且script所在的目錄必須記錄在環境變數 $PATH 之內
myscript  
呼叫一個子程序 (subshell) 執行 myscript
2. 使用sh命令,
將檔案名稱作為引數,

也可以選用其他shell,例如 csh, bash, ksh 等

script 必須為可讀
sh myscript  
呼叫一個子程序 (subshell) 執行 myscript
3. 使用"."命令,
將檔案名稱作為引數
script 必須為可讀
  • myscript    
  • 這個方式和和使用sh命令相似,只不過它不像sh一般會產生新的子程序,相反的, 它會在原有的程序下完成工作。 在這種執行方式下,一個script 可以改變原有程序的環境變數 內容。前者方式則無法改變。
    4. 使用exec命令,
    將檔案名稱作為引數
    script 必須為可讀
    exec myscript  
    
    系統執行方式同上,但這個 Shell 將會被所執行的命令所取代。當這個命令執行完畢之後,這個 Shell也會隨之結束。
    5. 使用命令替換
    (Command Substitution),

    用以取代 script 的某一段文字,
    類似變數的展開

    script 必須為可讀可執行,
    且script所在的目錄必須記錄在環境變數 $PATH 之內
    `myscript`   
    or
    $(myscript)
    呼叫一個子程序 (subshell) 執行 myscript,將執行的輸出取代 `myscript`字串。 例如以下的script就是把 filelist 的內容抓出來送給迴圈當作引數,逐一印出檔案名稱以及內容:
    for i in `cat filelist`
    do
      echo "========= File $i ========="
      cat $i
    done 
    
    下節有更多的解釋。
    Web Page Copyright: 亞洲大學資訊電機學院 連耀南 yaonanlien@asia.edu.tw  execute.htm,  Sun Dec 14 23:14:41 CST 2025