从Ubuntu 6.10开始,系统默认的shell,/bin/sh被改为dash(the Debian Almquist Shell)。在先前的版本中,默认的shell是bash(the GNU Bource-Again Shell)。

由上可见,/bin/sh是dash的软连接(使用的是Ubuntu 12.04LTS),dash和bash很相似但不一样。而你登录的shell,默认还是bash, 在 /etc/passwd 文件中设置, 例如下面名字为ubuntu的用户:
ubuntu:x:1000:1000:Administrator,,,:/home/ubuntu:/bin/bash</

自Ubuntu 6.10起,系统默认的shell从bash变为dash,以提高效率。虽然bash在交互式应用中强大,但在启动和执行速度上不及dash。在Ubuntu启动过程中,大量shell脚本的执行促使这一变更。然而,一些依赖/bin/bash的脚本可能会遇到“Bad substitution”错误。受影响的用户可以通过修改脚本首行指定正确解析器来解决这个问题。
最低0.47元/天 解锁文章
748

被折叠的 条评论
为什么被折叠?



