CentOS [root @ hostname] não aparece mais?

10

Por alguma razão, entrei no meu servidor CentOS6 e, no início de cada linha, ele normalmente mostra

[root@hostname]# 

Agora mostra

-bash-4.1#

O que isto significa? E como recuperá-lo ao normal?

Rui F Ribeiro
fonte
Google: /etc/skel.
quanta
O que echo $PS1mostra? Você suconseguiu fazer o root em vez de su -?
jscott
@jscott Estou logado no root, e sim fiz su. não su - como eu sairia disso?
ls -a /root/ | egrep '^\.'?
quanta
@Necro Postou uma resposta, deixe-me saber se isso ajuda.
jscott

Respostas:

13

Execute este comando no seu terminal:

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

Se você deseja mostrar esse prompt, após reiniciar, tente o seguinte (com su):

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

Mais Informações:

man bash

truongvan
fonte
É um trabalho bem e resolve meu problema, muito obrigado.
Loc_rabbirt 23/03
8

Eu tive o mesmo problema, eis como o resolvi:

Uma das duas coisas aconteceu. O diretório /rootfoi excluído; ou um arquivo /corrompido ausente ( fontes , que define o prompt), você pode executar o seguinte comando para restaurar os arquivos originais (que são copiados automaticamente quando a conta raiz ou qualquer conta de usuário é criada). Execute este comando como o usuário que está tendo problemas OU defina o caminho de destino para.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

Deve substituir o .bash_logout, .bash_profilee .bashrc-. Terminal de saída e log de volta em A -bash-4.1#deve ter desaparecido!

nak_attack
fonte
Obrigado! Eu corro cp -v /etc/skel/.bash* ~/ como root e funcionou perfeitamente!
Zinon 12/05/19
4

Pelo seu comentário, parece que você fez um su, para alternar para o usuário root, em vez de su -. O rastreamento -fará do shell um shell de login, sem ele você poderá perceber que o ambiente do usuário raiz está "desativado".

Para sair da susessão, basta digitar exit Enterou pressionar ctrl+ d. Em seguida, entre novamente na sessão usando su -. Veja a página de manual,, man supara mais detalhes.

jscott
fonte
1

Isso significa que em um local seu prompt de comando foi alterado pelo conteúdo de .profile (ou o perfil do sistema) .... no segundo caso, seu prompt não foi alterado.

BTW, o que é "normal". Na minha opinião, o padrão do aplicativo (a segunda entrada) é normal. Como em outras coisas, "normal" significa coisas diferentes para pessoas diferentes. No UNIXland, existem muitas maneiras de fazer as coisas, uma tag como essa realmente não tem significado.

Eu sugiro que você estude a página de manual ou procure um bom livro sobre o bash.

mdpc
fonte
Por favor, olhe minha edição.
Minha resposta ainda permanece ... por favor, obtenha um livro de shell se você for usar muito o shell bash.
Mdpc
Ok, vou receber um livro, mas até fazer isso, como faço para voltar ao [root @ hostname] #?
O que eu diria é reexecute o perfil do sistema usando o '.' comando ... assumindo que o perfil do sistema fornece esse prompt.
Mdpc
0

Você por acaso tentou editar o seu arquivo .bashrc?

Há uma cópia de backup localizada aqui:

/etc/skel/.bashrc

Para restaurar a raiz, execute o seguinte:

cp /etc/skel/.bashrc /root/.bashrc
Beachhouse
fonte
0

Parece que todas essas pessoas não sabiam como realmente receber o prompt de VOLTAR para mostrar [root @ domain] ~ #

Acho difícil acreditar que ele não tenha recebido uma resposta direta à sua pergunta. Porque estou procurando a mesma resposta.

%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]\$ '

não altera o prompt para indicar raiz quando se usa su-password para mudar para raiz. o meu só mostra #

quando ele costuma fazer o mesmo.

uxserx-bw
fonte