您的位置 首页 java

shell的重生历史:从sh到bash

shell 门派之争

Linux 中的 shell 有很多类型,其中最常用的几种是:Bourne shell (sh)、C shell (csh) 和 Korn shell (ksh),它们各有优缺点,用户则萝卜青菜,各有所爱。

Bourne shell 出师不利

Bash:Bourne again shell

Bourne shell 是 Unix 最初使用的 shell,并且在每种 Unix 上都可以使用,虽然它在编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。

说到底,shell这个物种,不仅要功能强大,而且还需要容易上手,毕竟shell是 “人—机” 交互的接口,不同于其他的 编程语言 ,它们侧重于后台批处理任务,与人的交互不是首要考虑的问题。而shell要做到“通机器,懂人性”,这样才能有更多的受众人群。

sh的重生之路

后来,创始人 Bourne 决定赋予 Bourne shell 新的生命,使其更适合于交互式使用,因此开创了新的项目并命名为 “Bourne again shell” ,简称 “Bash” ,也有好事者称 Bash 为 “重生shell(born again shell)”

Bash 是 Bourne shell 的扩展,与 Bourne shell 完全向后兼容,并且在Bourne shell 的基础上增加和增强了很多特性。可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多 C shell 和 Korn shell 中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。所以,Linux 操作系统缺省的 shell 是 Bash。

得民心得天下

要想赢得用户占领市场就得有抓住人们的内心需求,得民心者得天下,这个道理在shell上如此,在python shell领域同样又上演了一次,python自带的shell功能不强大,交互性不强,从而给了ipython shell上位的机会,后来ipython shell越做越大,直至发展成ipython notebooks,它的另外一个大名是“Jupyter Notebooks”。这可是一个大名鼎鼎的科学利器。如果说有什么每个 数据科学家 都应该使用或必须了解的工具,那非Jupyter Notebooks莫属了。

后记

除了bash以外,国外的大神都喜欢用自己的名字来给软件起名,虽然这种做法有点自负,易招人怨,但是也体现了自信,甚至有点霸气侧漏。例如,下面的这些大神的名字都与软件绑定到一起了:

(1)Linux 因其发明者 Linus Torvalds 的名字命名的;

(2)Debian Linux 是其创始人 Ian Murdock 和 他当时的女友 Debra Lynn 的名字的混成词;

(3) awk 代表着 Aho、Weinberger、Kernighan三位作者;

备注:本文源自《趣谈shell》,用非线性思维学习shell,让天下没有难学的shell。

文章来源:智云一二三科技

文章标题:shell的重生历史:从sh到bash

文章地址:https://www.zhihuclub.com/189604.shtml

关于作者: 智云科技

热门文章

网站地图