Wie stelle ich den Standard-Bashrc wieder her?

9

Ich habe versehentlich überschrieben .bashrc. Ich habe folgendes getan

echo 'export EDITOR=/usr/bin/nano' >> /etc/bashrc

Bur Ich tippte versehentlich >statt >>. Ich denke, es war eine schlechte Idee.

Ich kann mich immer noch mit diesem Trick anmelden (Treffer, Ctrl+Cbevor die .bashrc vollständig ausgeführt wird). Aber wie stelle ich die Standardeinstellung wieder her .bashrc?

Ich verwende CentOS 6.5 x86_64. Wenn sich die Standard-bashrc-Datei irgendwo in der Distribution befindet , kann ich sie nicht finden.

Nickolai Leschov
quelle

Antworten:

13

Bewegen Sie die beschädigte Datei aus dem Weg und installieren Sie das Paket mit der beschädigten Datei neu.

mv /etc/bashrc /etc/bashrc.damaged
yum reinstall $(rpm -qf /etc/bashrc)
Michael Hampton
quelle
Vielen Dank! Bitte hinzufügen, um die beschädigte Datei vor ( rm /etc/bashrc) zu entfernen und bash nach ( source ~/.bash_profile) neu zu starten
Nickolai Leschov
9

Haben Sie das .bashrcin Ihrem Benutzerverzeichnis überschrieben ? Oder die systemweit .bashrcin /etc/skel/? You can always copy the default.bashrc from/ etc / skel / ` gespeicherte Datei wie folgt:

cp /etc/skel/.bashrc ~/.bashrc

EDIT: In den Kommentaren unten heißt es auf dem Originalplakat:

Ich habe den Export EDITOR = / usr / bin / nano> / etc / bashrc wiederholt, als ich hätte schreiben sollen >> .

Okay, das erklärt, was schief gelaufen ist. Aber im Allgemeinen sollte jeder, der vorschlägt, Linux / Unix-Systemdateien mithilfe von >>Verkettung anzupassen, für immer öffentlich beschämt sein. Das Problem ist genau das, worauf Sie gestoßen sind. Alles, >>was Sie tun müssen, ist, den Inhalt links >>neben dem Element oben rechts anzuhängen >>. Es scheint glatt und schnell zu sein, aber meiner bescheidenen Meinung nach sind Sie viel sicherer, wenn Sie die Datei nur in einem Editor öffnen und alles hinzufügen, was Sie am Ende der Datei hinzufügen müssen. Mach das einfach:

sudo nano /etc/bashrc

Fügen Sie alles hinzu, was Sie zu dieser Datei hinzufügen müssen, speichern Sie es und fahren Sie fort.

JakeGould
quelle
1
Hinzugefügt: Ich habe es getan, echo 'export EDITOR=/usr/bin/nano' > /etc/bashrcals ich hätte schreiben sollen >>. Ich habe die Datei bereits durch die von ersetzt /etc/skel/, aber ich erhalte immer wieder "Verbindung zu 1.2.3.4 geschlossen". Ich denke, die Datei in /etc/skel/ist eine Vorlage für eine "echte" .bashrcund keine Instanz einer richtigen Konfigurationsdatei an sich. Vielleicht .bashrcsoll das eine Endlosschleife enthalten oder so? Ich kann mich nur anmelden, Ctl+Cindem ich zwischen dem Ausgeben eines sshBefehls von meinem Computer und dem Zeitpunkt, zu dem er mich rauswirft, treffe. Übrigens, auf meinem System ist es /etc/bashrcohne Punkt
Nickolai Leschov
Ahhh, okay. Ein paar allgemeine Ratschläge >>zu meiner Antwort.
JakeGould
0

3 Befehlszeilen zum Wiederherstellen von bashrc! Sie geben uns eine sehr nützliche Antwort, insbesondere für einen Linux-Anfänger wie mich, ich wende sie erfolgreich an,

mv /etc/bashrc /etc/bashrc.damaged
yum reinstall $(rpm -qf /etc/bashrc)
source ~/.bash_profile

Danke für alles

tchidat linda
quelle
0

Ausführen (Sie müssen nicht root sein)

dnf download $(rpm -qf /etc/bashrc)

um das rpmPaket im aktuellen Verzeichnis herunterzuladen . Extrahieren Sie dann das Paket und verschieben Sie die Datei dorthin, wo sie hingehört. Auf diese Weise müssen Sie kein Paket neu installieren.

Arch Stanton
quelle