我是 Linux 新手,正在尝试由主机预先配置的 Ubuntu 10.04。
当我使用预配置的帐户登录(SSH)时,shell 提示符是:user@hostname:~$
向上箭头滚动浏览最近的 shell 命令列表,并且制表符补全功能按预期工作。
但是,当我创建一个帐户并使用该帐户登录(SSH)时,shell 提示符只是“$”,向上箭头只会打印一个控制字符(^[[A)。
有人能告诉我如何设置提示、制表符补全和向上箭头行为吗?当我使用向上箭头时,我得到了控制字符,这让我认为我的帐户(或会话)处于我不熟悉的某种模式。
我知道 bashrc 中存储了制表符补全代码,我可以取消注释,但这似乎没有任何效果,即使在注销并重新登录后也是如此。
当我使用新帐户通过 SSH 登录时,我是否处于某种奇怪的模式,或者是否只需要设置一些会话/帐户设置,并且如果我知道要查找什么,就可以在互联网上的任何地方找到信息?
答案1
我的第一个猜测是默认 shell 不是sh
Bash。使用chsh
来更改它。您需要注销并重新登录才能使更改生效。
答案2
另一种方法是打开 /etc/passwd 文件并将 shell /bin/sh 更改为 /bin/bash
答案3
正如 Dennis Williamson 所说,问题出在默认 shell 上。我使用的是 Debian,我的非 root 用户默认使用 sh。
chsh
/bin/bash
重新登录后问题解决。