|
在Bourne Shell中使用者有五種方法請 Shell
執行一個 script,
而這五種方式所產生的結果有些許的不同。
以下的說明中,假設 script 的檔名是'myscript'。
|
| 使用方式 | 檔案權限 | 使用者下指令 | 系統執行方式
| 1. 直接鍵入script檔名
| script 必須為可讀可執行, | 且script所在的目錄必須記錄在環境變數 $PATH 之內 | 呼叫一個子程序 (subshell) 執行 myscript
| 2. 使用sh命令, | 將檔案名稱作為引數, 也可以選用其他shell,例如 csh, bash, ksh 等 script 必須為可讀
| | 呼叫一個子程序 (subshell) 執行 myscript
| 3. 使用"."命令, | 將檔案名稱作為引數 script 必須為可讀
| | 這個方式和和使用sh命令相似,只不過它不像sh一般會產生新的子程序,相反的,
它會在原有的程序下完成工作。
在這種執行方式下,一個script 可以改變原有程序的環境變數
內容。前者方式則無法改變。
| 4. 使用exec命令, | 將檔案名稱作為引數 script 必須為可讀
| | 系統執行方式同上,但這個 Shell
將會被所執行的命令所取代。當這個命令執行完畢之後,這個
Shell也會隨之結束。
| 5. 使用命令替換 | (Command Substitution), 用以取代 script 的某一段文字,
script 必須為可讀可執行, | 且script所在的目錄必須記錄在環境變數 $PATH 之內 | 呼叫一個子程序 (subshell) 執行 myscript,將執行的輸出取代
`myscript`字串。
例如以下的script就是把 filelist
的內容抓出來送給迴圈當作引數,逐一印出檔案名稱以及內容:
| |
|---|