.sh是什么语言_shell的重生历史:从sh到bash

shell 门派之争

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

Bourne shell 出师不利

bfa8ac93ceb1e13cf85f23e084b54700.png

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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值