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
- 阅读 ( 1059 )
- 分类:电脑网络