转自:https://zhidao.baidu.com/question/305415121.html

https://zhidao.baidu.com/question/176780008.html

bash是 Bourne Again SHell 是linux标准的默认shell ,它基于Bourne shell,吸收了C shell和Korn shell的一些特性。bash完全兼容Bourne shell,也就是说用Bourne shell的脚本不加修改可以在bash中执行。
sh是Bourne shell 这个是UNIX标准的默认shell,对它评价是concise简洁 compact紧凑 fast高效 有AT&T编写,属于系统管理shell。

、、、、、、、、、、、、、
sh或是执行脚本,或是切换到sh这个bash里,默认的shell是bash,你可以试试tcsh啊,csh啊,ksh,zsh什么的,看看别的shell是什么样子的。当然,linux中sh是链接到bash上的,所以<mark>sh与bash在功能上是没有区别的</mark>。
还有就是在执行脚本的时候是用sh + 脚本名的方式来执行,其实,大部分的时候,简单脚本只要权限设置正确,可以直接执行,不需要sh命令的