我刚刚使用useradd -d /home/users/john -m john
(使用 Ubuntu 11.04)在我的系统上创建了一个新用户。这工作得很好,但是当我更改为 时john
,我的 bash 功能不全。也就是说,它没有自动完成功能,我不能使用箭头键(例如向上键获取最后一个命令),并且它不显示我当前的目录,而是只显示$
.我加载了一个.bashrc
,但这似乎被完全忽略了。什么可能导致这种情况?
PD:该用户已经在系统上工作,我宁愿不删除它并再次添加它(如果可能的话)。
答案1
也许约翰的外壳不是/bin/bash
,但是/bin/sh
。在 Ubuntu 上,这是一个旨在快速执行脚本的 shell,没有命令行版本等花哨的交互功能。检查grep john /etc/passwd
或的最后一列getent passwd john
。您可能想要运行chsh -s /bin/bash john
来更改用户的 shell。
答案2
您可以通过输入 shell 的名称在 shell 之间跳转
$ bash
在下一行中,您将收到以下提示
user@hostname$
这是 bash shell。您的向上键和自动完成功能现在可以使用