What is a shell and what is Bash?

常听说:shell编程,Bash编程,和Bash shell编程,究竟什么是shell,又何为Bash,两者有什么联系…



简单的说,shell是命令解释器,用于解析和执行命令。它对用户屏蔽了操作系统底层(kernel)的复杂性,是两者间的桥梁。



Bourne shell是早期Unix系统使用的shell,位于/bin/sh,简称sh,其为shell的具体化。可理解为:shell是一个对象,Bourne shell仅是该对象的一个实例。


sh既是命令解释器,能执行命令;也是编程语言,可以将各种命令组合,加上逻辑,形成新的命令。 且sh成为了后续各种shell事实上的标准,Unix-like系统上的shell都会兼容Bourne shell。



Bash(Bourne-Again SHell),也是一种shell,最大程度的和sh兼容,并从Korn shell ksh和C shell csh引入了一些实用的特性。在交互性,和可编程方面比sh更加强大。



现在前面的说法很明了了:

shell编程,是指使用一种shell(可能是Bash)进行编程;就像说使用编程语言编程,最终还要选取一种语言嘛。


Bash编程,是指使用bash(这个shell)进行编程;就像说使用Python(编程语言)编程。


Bash shell编程,是“Bash编程”啰嗦的说法。


若感兴趣可关注订阅号”数据库最佳实践”(DBBestPractice).

qrcode_for_gh_54ffa7e55478_258.jpg

猜你喜欢

转载自blog.51cto.com/coveringindex/2140681