如何在打开终端或控制台模式时自动启动 bash shell?

mik*_*o88 8 bash users

我使用“useradd”命令在 ubuntu 中创建了一个普通用户帐户,但问题是我必须键入“bash”才能在控制台模式下(在 tty 中,通过 ctrl+alt+ Fn)和远程模式(通过 ssh)。bash shell 对我来说最重要的部分是自动完成功能,所以我的问题是如何在登录帐户时让 bash shell 自动启动。

我使用 ubuntu 13.04 32 位版本。我很感激任何建议!

ste*_*ver 18

您可能需要将 bash 设置为新用户的登录 shell。如果您以该用户身份登录:

chsh -s /bin/bash
Run Code Online (Sandbox Code Playgroud)

为另一个用户更改它

sudo chsh -s /bin/bash username
Run Code Online (Sandbox Code Playgroud)

将来您可能想要使用adduser而不是低级useradd,因为它默认将 bash 设置为新的登录 shell。

您可以通过查看 /etc/passwd 文件或使用

getent passwd username
Run Code Online (Sandbox Code Playgroud)


Fra*_*que 8

首先,检查是否useradd显示了默认值SHELL。为此,请发出:

useradd -D
Run Code Online (Sandbox Code Playgroud)

这将输出如下内容:

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
Run Code Online (Sandbox Code Playgroud)

这些值取自/etc/default/useradd. 现在,您有 2 个解决方案:

  1. 编辑/etc/default/useradd,并更改 的值SHELL,或
  2. 添加用户时覆盖外壳的值: useradd -D -s /bin/bash

有关更多信息,请参阅man useradd

  • 全部正确且全部有用,+1,但这对OP 没有帮助。这只会影响创建的 _next_ 用户,而不是已经存在的用户。 (2认同)