批次檔
 
   
當你在電腦上從事一些例行的重覆性工作,最希望能寫成批次檔,讓批次檔 自動執行,可省下很多人力。早在早期的讀卡機時代,IBM 電腦就有 JCL (Job Control Language) 讓電腦操作員,控制電腦任務的自動執行, 雖然功能很陽春,但不失為一個批次執行的雛形。微軟的 DOS, 也有執行批次檔的能力,以 .bat 為延伸檔名的檔案就是批次執行檔。 在Unix 中,Shell 不但可以跟使用者互動,也可將所要執行的指令放在檔案內,讓 Shell 當作批次執行檔執行。就程式語言的觀點而言, 其能力已經和一般的高階語言不相上下。 批次檔在Unix中稱為Shell Script。
 
 
Shell scripts 是 ASCII 檔
 
   
Shell 都是以 ASCII 格式寫就,而 Shell 對二進位的執行檔與 ASCII 格式的 Shell script 一視同仁,都是當作執行檔來執行,但是對於二進位執行檔是直接 交付作業系統執行,但如果對於 shell script, 則由Shell 本身來執行,其實將一個 shell script 細部動作拆開來看,就能發現, 隨著shell script 的執行,一個個二進位執行檔被抓出來交給作業系統去 執行。 Shell 本身就是一個 程序 (Process)負責將一個 shell script 的內容轉成 一道道的命令執行。
 
   
Shell 的語法有許多不同的版本,不同語法寫就的 script 互不相容, 差異,所以我們不能將寫給 用 Shell A 語法寫出的 shell script 不能用 Shell B 來執行。比較風行的版本是原始版的 Bourne Shell, Korn Shell, Bash, 以及C Shell,蘋果電腦的 Mac OS X中的 Terminal 支援 Bash.

Web Page Copyright: 亞洲大學資訊電機學院 連耀南 yaonanlien@asia.edu.tw  intro.htm,  Thu Sep 7 16:18:50 CST 2023