Shell系统学习之什么是Shell

 系列文章目录

Shell系统学习之什么是Shell

Shell系统学习之创建一个Shell程序

Shell系统学习之向Shell脚本传递参数

Shell系统学习之如何执行Shell程序

Shell系统学习之Shell变量和引用

 Shell系统学习之Shell条件测试,判断语句和运算符

 Shell系统学习之循环结构

 Shell系统学习之函数

Shell系统学习之数组

系统学习Shell之正则表达式

Shell系统学习之文件操作

Shell系统学习之子Shell与进程处理


Shell的历史

 1964年,美国AT&T公司的贝尔实验室、麻省理工学院及美国通用电气公司共同参与研发一套可以安装在大型主机上的多用户、多任务的操作系统,名为Multics(Multiplexed Information and Computing System),运行在美国通用电气公司的大型机GE-645上。但因为整个目标过于庞大,杂糅了太多特性,Multics最终以失败告终。

5年后,1969年AT&T退出了Multics的开发,但是公司其中一位开发者 肯-汤普逊则继续为GW-645开发软件。大约在1970年,另外一位开发者丹尼斯-里奇也加入了开发队伍。在汤普逊和里奇的带领下,他们启动了另外一个新的多用户、多任务的操作系统的项目UNICS(UNiplexed Information and Computing System).后来人们取这个单词的谐音,把这个项目称为我们现在熟知的UNIX.

最初UNIX是汇编语言编写,1973年汤普逊和里奇使用C语言重新编写了UNIX,使得UNIX得以移植到其他小型机上面。

于此同时,第一个重要的标准UNIX Shell于1979年末在UNIX第7版中推出,并以作者 史蒂夫-伯恩(Stephen Bource)的名字命名,叫做Bourne Shell,简称sh. sh当时主要用于系统管理任务的自动化。虽然sh很受欢迎,但是缺失交互的功能,如命令作业控制,历史和别名等

于此同时,UNIX的另外一个著名分支BSD UNIX也悄然兴起,随着风头正劲的BSD,另外一个老牌的Shell也登场了,它就是 比尔-乔伊 (Bill Joy)在加州大学伯克利分校读书期间开发的C Shell,简称csh。乔伊是Sun公司的创始人之一,当年在伯克利分校主持最早版本的BSD。C Shell基于C语言,语法类似于C。因为它为大型机设计并增加了很多新的功能,导致运行效率较慢。

C Shell之后又出现了许多其他的Shell程序,主要包括Tenex C Shell、Korn Shell以及GNU Bourne-Again Shell(bash)。目前最流行的就是bash

对各种Shell程序概况如下:

  • Bourne Shell:标识为sh,该Shell由Steve Bourne在贝尔实验室时编写。在许多UNIX系统中,该Shell是root用户的默认的Shell
  • Bourne-Again Shell:标识为bash,该Shell由Brian Fox在1987年编写,是绝大多数Linux发行版的默认的Shell
  • Korn Shell:标识为ksh,该Shell由贝尔实验室的David Korn在二十世纪八十年代早期编写。它完全向上兼容sh并包含了C Shell里的许多特性
  • C Shell:标识为csh,该Shell由Bill Joy在BSD系统上开发。由于其语法类似于C语言被成功C Shell

这些Shell程序,语法上或多或少有一些区别,目前我们用的最多的就是bash了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值