Bash-Datei wiederherstellen?

Ich glaube, ich habe meine Bash-Datei /bin/bash durcheinander gebracht, als ich versuchte, mein erstes Skript zu erstellen. Es zeigt eine Meldung mit der Aufschrift "Prozess abgeschlossen" an und sperrt mein Terminal. Wenn ich zu einer anderen Shell wechsle, z Möglichkeit, den Inhalt der Bash-Datei oder ähnliches wiederherzustellen, ich habe kein Backup, da ich es nie geschafft habe, Time Machine zu verwenden. danke für die Hilfe

Antworten (1)

Das Problem liegt wahrscheinlich bei einer der drei folgenden Dateien, die sich alle im Stammverzeichnis Ihres Home-Verzeichnisses befinden: .bashrc, .profile oder .bash_profile. Versuche dies:

1) Navigieren Sie während einer sh-Sitzung zu Ihrem Home-Verzeichnis, falls Sie sich noch nicht dort befinden (geben Sie cd ~ ein).

2) Führen Sie den Befehl ls -al aus und ermitteln Sie, welche dieser Dateien (.bashrc, .profile oder .bash_profile) in Ihrem Home-Ordner vorhanden sind.

3) Es ist wahrscheinlich, dass die Datei, die das Problem verursacht, die letzte war, die Sie bearbeitet haben, oder mit einer der drei zuvor genannten Dateien verknüpft ist. Verschieben oder ändern Sie den Dateinamen einer dieser Dateien in Ihr Home-Verzeichnis. Wenn Sie sich nicht sicher sind, mit welcher Datei Sie gearbeitet haben, würde ich mit .bashrc beginnen.

Beispielbefehl zum Verschieben von .bashrc: mv .bashrc bashrc.bak

4) Nachdem Sie den Dateinamen einer der zuvor aufgelisteten Dateien verschoben oder geändert haben, versuchen Sie, eine neue Bash-Sitzung zu öffnen. Wenn die Sitzung erfolgreich gestartet wird, wissen Sie, welche Datei weiter bearbeitet werden muss. Wenn die Bash-Sitzung nicht gestartet wird, stellen Sie die Datei an ihrem ursprünglichen Speicherort wieder her. Wenn keine Datei die Ursache zu sein scheint, versuchen Sie, die Dateinamen aller benannten Dateien zu verschieben oder zu ändern.

5) Erstellen Sie eine Sicherungskopie der Datei, die Probleme verursacht.

Um die Meldung „Prozess abgeschlossen“ zu beheben, müssen Sie das Skript auf Fehler untersuchen und nach Return- oder Exit-Anweisungen suchen, die möglicherweise falsch geschrieben sind. Wenn diese nicht vorhanden sind, müssen Sie möglicherweise Zeilen des Skripts auskommentieren, um festzustellen, wo das Problem liegt. Um eine Zeile auszukommentieren, fügen Sie am Anfang der Zeile ein #-Zeichen hinzu.

Während dieses letzten Schritts müssen Sie eine Kopie der problematischen Datei zurück an ihren ursprünglichen Speicherort verschieben. Zur Vereinfachung würde ich die Datei wahrscheinlich mit TextWrangler oder von nano oder vim in einer anderen sh-Sitzung öffnen, um Änderungen vorzunehmen.

(Hinweis: TextEdit und XCode funktionieren auch. Um die Datei zu öffnen, müssen Sie jedoch einen Befehl wie „open -a TextEdit.app ~/.bashrc“ eingeben, um die Datei zu öffnen, da das Fenster „Datei öffnen“ dies nicht zulässt zum Öffnen von Dateien, deren Namen mit einem Punkt beginnen.)