CentOS | [root @ hostname] non viene più visualizzato?


10

Per qualche motivo ho effettuato l'accesso al mio server CentOS6 e all'inizio di ogni riga che mostra normalmente

[root@hostname]# 

Ora mostra

-bash-4.1#

Cosa significa questo? E come posso riportarlo alla normalità?


Google: /etc/skel.
quanta

Cosa echo $PS1mostra? Hai suavuto il root invece di su -?
jscott,

@jscott Ho effettuato l'accesso a root e sì, ho fatto su. non su - come potrei uscirne?

ls -a /root/ | egrep '^\.'?
quanta

@Necro ha inviato una risposta, fammi sapere se aiuta.
jscott,

Risposte:


13

Esegui questo comando nel tuo terminale:

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

Se vuoi mostrare questo prompt dopo il riavvio, puoi provare questo (con su):

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

maggiori informazioni:

man bash


Funziona bene e risolve il mio problema, grazie mille.
Loc_rabbirt il

8

Ho avuto lo stesso problema, ecco come l'ho risolto:

È successa una delle due cose. La directory è /rootstata eliminata; o un file /corrotto mancante .bashrcin /root( .bashrcfonti /etc/bashrc, che imposta il prompt), è possibile eseguire il comando seguente per ripristinare i file originali (che vengono copiati automaticamente quando viene creato il root o qualsiasi account utente). Eseguire questo comando come l'utente che sta riscontrando problemi OPPURE definire il percorso di destinazione a/home/directory/user/

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

Dovrebbe sostituire il terminale .bash_logout, .bash_profilee .bashrc- exit e riconnettersi. -bash-4.1#Adesso dovrebbe essere sparito!


Grazie! Corro cp -v /etc/skel/.bash* ~/ come root e ho funzionato perfettamente!
zinon,

4

Secondo il tuo commento, sembra che tu abbia fatto un su, per passare all'utente root, piuttosto che su -. Il trailing -renderà la shell una shell di accesso, senza di essa potresti notare che il tuo ambiente utente root è "off".

Per uscire dalla susessione, basta digitare exit Entero premere ctrl+ d. Quindi accedere nuovamente alla sessione utilizzando su -. Vedi la pagina man man su, per maggiori dettagli.



1

Significa che in un unico punto il prompt dei comandi è stato modificato dal contenuto di .profile (o dal profilo di sistema) .... nel secondo caso, il prompt non è stato modificato.

A proposito, ciò che è "normale". Secondo me, il default dell'applicazione (la seconda voce) è normale. Come in altre cose "normale" significa cose diverse per persone diverse. In UNIXland ci sono molti modi per fare le cose, un tag come questo non ha davvero alcun significato.

Consiglio vivamente di studiare da vicino la pagina man o di cercare un buon libro su bash.


Per favore, guarda la mia modifica.

La mia risposta è ancora ... per favore, prendi un libro di shell se hai intenzione di usare molto la shell di bash.
mdpc,

Bene, riceverò un libro, ma fino a quando non lo farò, come posso tornare al [root @ hostname] #?

Quello che direi è rieseguire il profilo di sistema usando '.' comando ... supponendo che il tuo profilo di sistema fornisca tale richiesta.
mdpc,

0

Per caso hai provato a modificare il tuo file .bashrc?

C'è una copia di backup situata qui:

/etc/skel/.bashrc

Per ripristinare root esegui questo:

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

0

sembra che tutte queste persone non sapessero come ottenere effettivamente il prompt per tornare a mostrare [root @ dominio] ~ #

Trovo difficile credere che non abbia ottenuto una risposta diretta alla sua domanda. Perché sto cercando la stessa risposta.

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

non cambia il prompt per indicare root quando si usa su - password per passare a root. il mio mostra solo #

quando usa per fare lo stesso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.