Bourne shell是一個運行在Unix?和LINUX?操作系統上的小程序,提供在系統上執行程序的接口。它通常被稱為命令行界面或命令解釋器,因為它不向用戶提供圖形用戶界面(GUI)。要執行的命令和任何必要的參數都是輸入到shell中...
Bourne shell是一個運行在Unix?和LINUX?操作系統上的小程序,提供在系統上執行程序的接口。它通常被稱為命令行界面或命令解釋器,因為它不向用戶提供圖形用戶界面(GUI)。要執行的命令和任何必要的參數都是輸入到shell中。Bourne shell也是一種腳本語言,允許用戶創建和執行腳本文件,這些文件可以通過單個命令通過多個程序處理數據,這個程序被簡單地稱為“sh”。手持人的計算機第一個用于Unix?系統的shell被稱為Thompson shell,由Unix?操作系統的最初創造者之一Ken Thompson創建。Thompson shell僅限于命令解釋,許多附加功能必須作為外部執行后來,Stephen Bourne創建了Bourne shell來取代Thompson shell,為shell本身以及shell的腳本語言添加了許多新功能。實際上,Bourne shell從一開始就被設計成一種腳本語言。雖然它仍然是Unix?version 7的命令行界面,它還為用戶開發shell腳本提供了可能性,這些腳本將命令鏈接在一起以處理數據,用戶可以建立變量來從輸入或輸出中捕獲已知或未知的數據,并通過在腳本中使用條件語句來操縱這些數據的處理。這也是第一個實現信號處理功能的shell。通過Bourne shell,用戶可以向已在計算機上運行的進程發送特定類型的信號,指示該進程執行其他操作這些方法中有許多是停止正在執行的進程并產生某種可用于調試的輸出的方法,但也有一些方法用于臨時停止進程、恢復等等。直接控制文件描述符的能力是Bourne shell的又一個首次。在類似Unix?的系統上,每一個正在運行的程序都有一個表,列出了所有打開文件的文件描述符。它可以包括從簡單的文本文件到目錄,甚至是進程用于彼此共享數據的通信套接字。用戶可以控制系統上的文件描述符,從而實現對輸入的前所未有的控制當然,盡管Bourne shell為用戶提供了這樣的附加功能,但它缺乏交互控制進程、建立命令別名和保留歷史記錄等功能,許多后代開始采用多年來設計的最有用的shell特性,并將它們組合成新的shell。一個常見的例子是Bourne again shell,或者Bash,它在許多LINUX?系統上很常見。因此,這些子代中的許多都完全能夠執行常規的Bourne shell腳本,從而使每個類似Unix?的系統都能以某種方式實現原始Bourne shell。在許多LINUX?系統上,這只是從“sh”到“bash”或其他一些有能力的后代的鏈接
-
發表于 2020-08-06 20:08
- 閱讀 ( 953 )
- 分類:電腦網絡