定義
系統和用戶之間的界面,實際上都是提供一個進行通信的語言這種語言的性質在很大程度上與
作業系統的類型有關。例如分時系統與批處理系統雖然都是面向作業的系統,但是它們工作方式有重要區別,因此這兩種系統使用的通信語言也就有很大的不同。分時系統中,用戶與系統之間可以頻繁的進行互動作業用,用戶易於控制其作業在系統中運行的途徑,也能對系統的某些動作及時作業回響。所以分時作業系統中使用的通信語言一般比較簡單,只是一組要操作使系統進行某種工作的命令,這類語言通常稱為操作員控制語言。而在批處理系統中,用戶一旦向系統提交子作業,就無法再對該作業的執行過程進行任何控制,因此用戶必須事先給出一系列命令,明確規定執行該作業的各個步驟,或指明針對各種中間結果,應選擇的運行途徑等。
SHELL語言
UNIX作業系統是一個分時式多用戶、互動型軟體系統,它和用戶的界面是一種命令語言,稱之為SHELL(外殼)語言,它的解釋程式同樣也稱為
SHELL(即SHELL解釋程式)。
一般用法
UNIX系統問世以來已取得極大成功,除了由於系統的核心部分有許多突出的優點外,作為作業系統與用戶之間的接口——命令設計語言SHELL也起了不可忽視的作用。
SHELL語言本身也像高級程式設計語言一樣,具有變數、控制流程、子程式及中斷管理等方面的功能。[1]
特點
(1)用SHELL語言編寫的命令檔案功能強大,易理解,已閱讀,易使用,它對大多數
UNIX用戶來說,是最重要的一種程式。
(2)通過SHELL用戶編寫的大量程式組織起來,可使UNIX系統成為一個功能強大、使用方便的工具系統。
總之,SHELL雖說是一種命令語言,但其功能很強大,可與一般複雜的
作業控制語言相媲美。所以SHELL構成了一個使用UNIX系統的良好環境。
輸入和輸出轉向命令
為了便於用戶和有關進程進行互動作用,它們常常就是與該進程相關的
終端機輸入、輸出部分進行互動作用。但是某種情況下,例如用戶事先已將必要的輸出信息存放在某個檔案上,或者希望在某個檔案上得到輸出信息,那么就有必要改變標準輸入、輸出檔案,使之與指定的檔案或設備連線起來,SHELL向用戶提供一種手段,使得他們可以提出上述要求,這被稱之為標準輸入輸出轉向。
典例1
簡單命令:cat file1 file2
作用:將file1、file2依次在標準輸出檔案顯示出來。
但如果要求改變標準輸出,則可以寫為:cat file1 file2 >file3
作用:標準輸出轉向一般普通檔案file3。
注意:若轉向檔案file3原來並不存在,則SHELL解釋庫先要創建它;若它已經存在,,則認為這是一個空白文檔,重新改寫它。
典例2
cat file1 file2 >/dev/tty03
作用:轉向為另一終端顯示。
cat file1 file2 >/dev/plp
作用:轉向為印表機
典例3
如果希望執行命令時,輸出添加到某現存檔案的末端,則應該使用另一種輸出轉向符“>>”。
cat file1 file2 >>file3
標準輸入符同樣也可以要求加以改變,例如:we<file,將file作為執行SHELL命令we時的標準輸入,執行該命令時,把“file”檔案中的行數、字數、字元數送向標準輸出。