如何纠正 Debian (Squeeze) 服务器上奇怪的 bash 提示符?

如何纠正 Debian (Squeeze) 服务器上奇怪的 bash 提示符?

我从来不需要在 Debian Linux 下处理太多 BASH 设置,但是这一次,有人给了我一个行为奇怪的服务器。

当我以 root 身份登录时,一切都按照我习惯的方式进行:我看到一个正常的提示,告诉我我是谁/在哪里,按 UP 键会显示以前输入的命令等。

但是,当我以创建的用户身份登录时,提示符为“$”,UP 键显示字符 ^[[A,当我尝试输入 PS1="\u@\h:\w\$ 来更改提示符时" 提示符字面上变成 \u@\h:\w\$ - 即 \u 不被用户名等替换。

查看 etc/profile 和 etc/bash.bashrc 文件没有给我任何线索。我已经尝试谷歌搜索但无济于事。

有人能指出我正确的方向吗?关于要查看哪些文件以及应该查看哪些文件的分步指南可能会有所帮助。另一种方法可能是重置用户的 bash 设置(无需删除和恢复用户)。

答案1

输入finger username...系统可能有不同的默认 shell。如果 shell 行没有说/bin/bash你可以更改它

usermod -s /bin/bash username

编辑:忘记提及,如果用户已登录。执行该命令后将其注销并重新登录。

答案2

您可以检查几个文件,在 /etc/profile 之后(它也在末尾包含一些文件)、/etc/bash.bashrc

  • /etc/bashrc
  • 〜/.profile
  • 〜/ .bash_profile
  • ~/.bashrc

读取此文件的顺序(如果存在)在 bash 联机帮助页的 INVOCATION 部分中指定。

相关内容