为什么 Debian 7 bash 中的默认 shell 是?

ash*_*shr 5 shell debian

根据文档dash应该是 Debian Wheezy 中的默认 shell,但是当我打开终端并检查SHELL变量时,它指向/bin/bash. 由于这是全新安装,并且我没有进行任何更改,为什么这不是指向/bin/dash?或者默认 shell 是由其他变量存储或指向的吗?

jas*_*yan 10

根据文档,默认/bin/shshell 是 dash,但默认交互式shell 是 bash:

默认的交互式 shell 是 bash(它在 /etc/adduser.conf 中定义,然后复制到用户配置文件,请参阅 chsh(1) 联机帮助页)。

带有 POSIX shebang 的系统脚本将通过 dash 运行,但是当您 - 用户 - 打开交互式 shell 时,/bin/bash除非您选择更改它,否则它将运行。

  • @约瑟夫R。这听起来像一个错误。 (4认同)
  • 有趣的是,如果你打开`/etc/default/useradd` 你会发现`SHELL=/bin/sh` 这样任何用`useradd` 创建的用户帐户都会有破折号作为它们的默认shell! (2认同)