CentOS | [root @ hostname] wird nicht mehr angezeigt?

10

Aus irgendeinem Grund habe ich mich bei meinem CentOS6-Server angemeldet und am Anfang jeder Zeile, die normalerweise angezeigt wird

[root@hostname]# 

Jetzt zeigt es

-bash-4.1#

Was bedeutet das? Und wie bekomme ich es wieder normal?

Rui F Ribeiro
quelle
Google : /etc/skel.
Quanten
Was echo $PS1zeigt? Hast du sustatt root root bekommen su -?
Jscott
@jscott Ich bin bei root angemeldet und ja, ich habe su. nicht su - wie würde ich da rauskommen?
ls -a /root/ | egrep '^\.'?
Quanten
@Necro Hat eine Antwort gepostet, lass es mich wissen, wenn das hilft.
Jscott

Antworten:

13

Führen Sie diesen Befehl in Ihrem Terminal aus:

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

Wenn Sie diese Eingabeaufforderung nach dem Neustart anzeigen möchten, können Sie dies (mit su) versuchen:

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

Mehr Informationen:

man bash

Truongvan
quelle
Es funktioniert gut und löst mein Problem, vielen Dank.
Loc_rabbirt
8

Ich hatte das gleiche Problem. So habe ich es gelöst:

Eines von zwei Dingen ist passiert. Entweder wurde das Verzeichnis /rootgelöscht; oder eine fehlende /beschädigte .bashrcDatei in /root( .bashrcQuellen /etc/bashrc, die die Eingabeaufforderung festlegen), können Sie den folgenden Befehl ausführen, um die Originaldateien wiederherzustellen (die automatisch kopiert werden, wenn das Stammverzeichnis oder ein Benutzerkonto erstellt wird). Führen Sie diesen Befehl als Benutzer aus, der Probleme hat, ODER definieren Sie den Zielpfad zu/home/directory/user/

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

Sollte das .bash_logout, .bash_profileund .bashrc- Terminal ersetzen und sich wieder anmelden. Das -bash-4.1#sollte jetzt weg sein!

nak_attack
quelle
Danke! Ich laufe cp -v /etc/skel/.bash* ~/ als root und habe perfekt gearbeitet!
Zinon
4

Laut Ihrem Kommentar klingt es so, als hätten Sie eine Aktion ausgeführt su, um zum Root-Benutzer zu wechseln, anstatt su -. Durch das Trailing -wird die Shell zu einer Anmeldeshell. Ohne diese Shell können Sie feststellen, dass Ihre Root-Benutzerumgebung "Aus" ist.

Um die suSitzung zu beenden, geben Sie einfach + ein exit Enteroder drücken Sie ctrl+ d. Geben Sie dann die Sitzung mit erneut ein su -. man suWeitere Informationen finden Sie in der Manpage .

jscott
quelle
3

Es bedeutet, dass Sie die Bash-Shell verwenden. Version 4.1 .

HopelessN00b
quelle
1
Wie komme ich da raus, damit nur [root @ hostname] # und mein aktueller Ordner und so weiter angezeigt werden?
1
Überprüfen Sie die Manpage und sehen Sie, wie Sie Ihre Eingabeaufforderung festlegen können.
Mdpc
1

Dies bedeutet, dass an einer Stelle Ihre Eingabeaufforderung durch den Inhalt von .profile (oder das Systemprofil) geändert wurde. Im zweiten Fall wurde Ihre Eingabeaufforderung nicht geändert.

Übrigens, was ist "normal". Meiner Meinung nach ist der Standard der Anwendung (der zweite Eintrag) normal. Wie in anderen Dingen bedeutet "normal" für verschiedene Menschen verschiedene Dinge. In UNIXland gibt es so viele Möglichkeiten, Dinge zu tun, dass ein Tag wie dieses wirklich keine Bedeutung hat.

Ich würde Ihnen dringend empfehlen, die Manpage genau zu studieren oder nach einem guten Buch über Bash zu suchen.

mdpc
quelle
Bitte schauen Sie sich meine Bearbeitung an.
Meine Antwort steht immer noch ... bitte besorgen Sie sich ein Shell-Buch, wenn Sie die Bash-Shell häufig verwenden.
Mdpc
Okay, ich werde ein Buch bekommen, aber wie kann ich bis dahin zu [root @ hostname] # zurückkehren?
Ich würde sagen, dass das Systemprofil mit dem '.' Befehl ... Wenn Sie Ihr Systemprofil annehmen, wird eine solche Eingabeaufforderung angezeigt.
Mdpc
0

Haben Sie zufällig versucht, Ihre .bashrc-Datei zu bearbeiten?

Hier befindet sich eine Sicherungskopie:

/etc/skel/.bashrc

Um root wiederherzustellen, führen Sie Folgendes aus:

cp /etc/skel/.bashrc /root/.bashrc
Strandhaus
quelle
0

Anscheinend wussten alle diese Leute nicht, wie sie die Aufforderung erhalten sollten, wieder [root @ domain] ~ # anzuzeigen.

Es fällt mir schwer zu glauben, dass er keine klare Antwort auf seine Frage bekommen hat. Weil ich genau die gleiche Antwort suche.

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

ändert nicht die Aufforderung, root anzugeben, wenn man su - password verwendet, um zu root zu wechseln. meins zeigt nur #

wenn es das gleiche tut.

uxserx-bw
quelle