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


10

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

[root@hostname]# 

现在它显示

-bash-4.1#

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


Google :/etc/skel
量子点

是什么echo $PS1节目?你su是不是生根了su -
jscott 2012年

@jscott我已登录到root,是的,我做了su。不是su-我将如何摆脱困境?

ls -a /root/ | egrep '^\.'
量子点

@Necro发表答案,让我知道是否有帮助。
jscott 2012年

Answers:


13

在终端中运行以下命令:

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

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

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

更多信息:

man bash


运行良好,可以解决我的问题,非常感谢。
Loc_rabbirt

8

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

发生了两件事之一。目录/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#,现在应该走了!


谢谢!我cp -v /etc/skel/.bash* ~/ 以root身份运行并完美工作!
zinon

4

根据您的评论,听起来您好像已经完成了su,切换到root用户,而不是su -。尾随-将使该外壳成为登录外壳,没有它,您可能会注意到您的root用户环境已关闭。

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



1

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

顺便说一句,什么是“正常”。我认为,应用程序的默认设置(第二个条目)是正常的。与其他事物一样,“正常”对不同的人意味着不同的事物。在UNIXland中,有许多种处理方法,像这样的标签确实没有任何意义。

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


请看我的编辑。

我的回答仍然有效。...如果您要经常使用bash shell,请获取一本shell书。
mdpc

好的,我会得到一本书,但是在这样做之前,如何恢复为[root @ hostname]#?

我要说的是使用“。”重新执行系统配置文件。命令...假设您的系统配置文件会提供这样的提示。
mdpc

0

您是否有机会尝试编辑.bashrc文件?

这里有一个备份副本:

/etc/skel/.bashrc

要恢复root,请运行以下命令:

cp /etc/skel/.bashrc /root/.bashrc

0

似乎所有这些人都不知道如何实际获得提示以返回到显示[root @ domain]〜#

我发现很难相信他没有得到他问题的直接答案。因为我正在寻找相同的答案。

%userx@voided ~>>$cat /etc/skel/.bashrc
# .bashrc

# If not running interactively, don't do anything
 [[ $- != *i* ]] && return

 alias ls='ls --color=auto'
 PS1='[\u@\h \W]\$ '

当使用su-password切换到root时,不会更改提示以指示root的提示。我只显示#

当它用来做同样的事情时。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.