讀過《作業系統概論》的讀者們都知道作業系統是一個系統資源的管理者與分配者,當您有需求時,您得向系統提出;從作業系統的角度來看,它也必須防止使用者因為錯誤的操作而造成系統的傷害。
眾所周知,對計算機下命令得通過命令(command) 或是程式(program);程式有編譯器(compiler)將程式轉為二進制代碼,可是命令呢?
其實shell 也是一支程式,它由輸入設備讀取命令,再將其轉為計算機可以了解的機械碼,然後執行它。各種作業系統都有它自己的 shell,以 DOS 為例,它的 shell 就是 command.com檔案。如同 DOS 下有 NDOS,4DOS,DRDOS 等不同的命令解譯程式可以取代標準的command.com ,UNIX 下除了 Bourne shell(/bin/sh) 外還有 C shell(/bin/csh)、Korn shell(/bin/ksh)、Bourne again shell(/bin/bash)、Tenex C shell(tcsh)等其它的 shell。UNIX/linux將 shell 獨立於核心程式之外, 使得它就如同一般的應用程式, 可以在不影響作業系統本身的情況下進行修改、更新版本或是添加新的功能。
shell是計算機用來解釋你輸入的命令然後決定進行何種處理的程式。shell也可以在非互動模式下調用。舉個例子,可以把一些要輸入的命令預先存放在文本檔案里(叫做shell腳本)然後執行該檔案。可以把shell看作是DOS下面的command.com(命令行解釋器),而shell腳本就象是DOS的批處理檔案(*.bat)。和DOS相比較,shell的功能要先進和豐富得多。
取自"http://wiki.ccw.com.cn/Shell%E7%A8%8B%E5%BC%8F"