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!
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 exitEnteroder drücken Sie ctrl+ d. Geben Sie dann die Sitzung mit erneut ein su -. man suWeitere Informationen finden Sie in der Manpage .
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.
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 #
/etc/skel
.echo $PS1
zeigt? Hast dusu
statt root root bekommensu -
?ls -a /root/ | egrep '^\.'
?Antworten:
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
quelle
Ich hatte das gleiche Problem. So habe ich es gelöst:
Eines von zwei Dingen ist passiert. Entweder wurde das Verzeichnis
/root
gelöscht; oder eine fehlende/
beschädigte.bashrc
Datei in/root
(.bashrc
Quellen/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/
Sollte das
.bash_logout
,.bash_profile
und.bashrc
- Terminal ersetzen und sich wieder anmelden. Das-bash-4.1#
sollte jetzt weg sein!quelle
cp -v /etc/skel/.bash* ~/
als root und habe perfekt gearbeitet!Laut Ihrem Kommentar klingt es so, als hätten Sie eine Aktion ausgeführt
su
, um zum Root-Benutzer zu wechseln, anstattsu -
. Durch das Trailing-
wird die Shell zu einer Anmeldeshell. Ohne diese Shell können Sie feststellen, dass Ihre Root-Benutzerumgebung "Aus" ist.Um die
su
Sitzung zu beenden, geben Sie einfach + einexit
Enteroder drücken Sie ctrl+ d. Geben Sie dann die Sitzung mit erneut einsu -
.man su
Weitere Informationen finden Sie in der Manpage .quelle
Es bedeutet, dass Sie die Bash-Shell verwenden. Version 4.1 .
quelle
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.
quelle
Haben Sie zufällig versucht, Ihre .bashrc-Datei zu bearbeiten?
Hier befindet sich eine Sicherungskopie:
Um root wiederherzustellen, führen Sie Folgendes aus:
quelle
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.
ändert nicht die Aufforderung, root anzugeben, wenn man su - password verwendet, um zu root zu wechseln. meins zeigt nur #
wenn es das gleiche tut.
quelle