为什么我的 Ubuntu 14.04 bash 上使用默认 shell?

为什么我的 Ubuntu 14.04 bash 上使用默认 shell?

有人说 Ubuntu 14.04 的默认 shell 是 dash。我的是bash。

/bin/sh的是dash

我不记得是否更改了默认 shell。有什么方法可以更改默认 shell?我可以查出我是否已经这样做了吗?

谢谢。

答案1

“默认 shell”一词有不同的含义。

脚本的默认 shell/bin/sh是安装为 的任何 shell /bin/sh。在 Debian 衍生品(包括 Ubuntu)中,这就是 Dash。在大多数其他 Linux 发行版上,它是 Bash(除了在嵌入式发行版中它可能是 Busybox)。在 Unix 系统上,它可能是别的东西。在 Debian 衍生产品上,您可以通过/bin/sh运行为默认值在 Dash 和 Bash 之间切换。dpkg-reconfigure dashroot

用户的默认 shell 是其 NSS 条目中设置的任何内容(通常是 中的行/etc/passwd或 LDAP 条目)。用户可以使用以下方式更改此设置chsh(1),创建用户时使用的默认值取决于所使用的工具(对于adduser(8),它是使用DSHELLin定义的/etc/adduser.conf)。在大多数 Linux 发行版(包括 Debian 衍生版本)上,用户的默认 shell(默认交互式 shell)是 Bash。

答案2

可以通过调用SHELL来查看有效的shell是什么持续的 echo $SHELL

这是Ubuntu 的维基关于这个话题。

例如使用过去的这篇文章如果您想更改外壳,请作为指导表。

这肯定是一个重复的问题,但我想提出答案,以防它对您有所帮助,演变成新的东西,或者特定于乌班图14.04。一般来说,您会在 Stackexchange 上发现 dash 是 Almquist shell 的 Debian 版本,并且是默认 shell,尽管 bash 也很常用。

相关内容