CentOS | [root@hostname] 不再显示?

CentOS | [root@hostname] 不再显示?

由于某种原因,我登录到我的 CentOS6 服务器,并且在每一行的开头通常显示

[root@hostname]# 

现在它显示

-bash-4.1#

这是什么意思?以及如何让它恢复正常?

答案1

在终端中运行此命令:

export PS1='[\u@\h \W]\$ '

如果您想在重新启动后显示此提示,您可以尝试以下操作(使用 su):

echo "export PS1='[\u@\h \W]\$ '" > /etc/profile.d/bash_prompt.sh

更多信息:

man bash

答案2

我遇到了同样的问题,这是我解决的方法:

发生了两件事之一。要么目录/root被删除;或者(sources ,设置提示符)中丢失/损坏的文件,您可以运行以下命令来恢复原始文件(在创建 root 或任何用户帐户时自动复制这些文件)。以遇到问题的用户身份运行此命令或定义目标路径.bashrc/root.bashrc/etc/bashrc/home/directory/user/

cp -v /etc/skel/.bash* ~/             #if logged in as user
cp -v /etc/skel/.bash* /home/user/    #run as root

应该替换.bash_logout,.bash_profile.bashrc- 退出终端并重新登录。-bash-4.1#现在应该消失了!

答案3

根据您的评论,听起来您已经执行了su, 切换到 root 用户,而不是su -.尾随-将使 shell 成为登录 shell,如果没有它,您可能会注意到您的 root 用户环境已“关闭”。

要退出su会话,只需键入exit Enter或按ctrl+即可d。然后使用 重新进入会话su -man su有关更多详细信息,请参阅手册页。

答案4

这意味着在一个地方您的命令提示符被 .profile (或系统配置文件)的内容更改了......在第二种情况下,您的提示符没有更改。

顺便说一句,什么是“正常”。在我看来,应用程序的默认设置(第二个条目)是正常的。与其他事物一样,“正常”对不同的人来说意味着不同的事物。在 UNIX 领域,做事的方式有很多种,像这样的标签确实没有任何意义。

我强烈建议您仔细研究手册页或寻找一本关于 bash 的好书。

相关内容