sh和bash的区别

时间:2021-03-20 09:07:53

sh是一种POSIX标准,它有很多种实现,包括ksh88, dash,bash等。

因为sh是一种规范,并不是实现,所以/bin/sh实际上是一个硬链接,链接到某种实现上。

大多数情况下,/bin/sh会链接到/bin/bash。所以你执行

sh xx.sh

等价于执行

bash xx.sh

但是在一些系统中,/bin/sh并没有指向/bin/bash,比如在一些现代的Debian和Ubuntu系统中,sh指向的是dash


Ref

https://*.com/a/5725402/4902900