Terminal-Absturz auf Macbook Air 2011, Mavericks

Ich habe es geschafft, mein Terminal von OS X (10.9.5) meines Air zu zerstören , während ich während der Git-Installation einen sudo-Befehl ( sudo mv git /etc/paths.d ) ausführte. (Nach https://stackoverflow.com/questions/4725389/how-to-get-started-with-git-on-mac )

Jetzt erhalte ich bei jedem neuen Terminalfenster, das ich starte, eine fortlaufende Reihe von Fehlern, deren erste 3 Zeilen lauten:

-bash: ???H??: command not found
-bash: command substitution: line 4: syntax error near unexpected token `('
-bash: command substitution: line 4: `:??H?u?H??HH?BH?E??H?? ]?ffff.?:?U??E???

Geben Sie hier die Bildbeschreibung einWährend die Terminal-Befehle durchlaufen werden, nachdem alle Fehler aufgelistet sind, startet RStudio nicht und das Fehler-Popup lautet:

" Unerwartete Ausnahme: Nicht übereinstimmende Markierungsklammern ( oder (. Der Fehler ist beim Übergeben des regulären Ausdrucksfragments aufgetreten: ' " Dieser Geben Sie hier die Bildbeschreibung einFehler bleibt auch bei der Neuinstallation von RStudio bestehen (während R ordnungsgemäß funktioniert)

Ich habe versucht, das Terminal zurückzusetzen , indem ich ~/Library/Preferences/com.apple.Terminal.plist löschte, aber der Fehler bleibt bestehen.

Schätze wirklich deine Hilfe!

--BEARBEITEN---

echo $PATH gibt auch eine Reihe von Fehlern zurück, beginnend mit /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:????:O" ::D?M?A??H?

Außerdem wechselt das Terminal ständig zwischen Bash und Perl 5.16, während die Fehlerliste gedruckt wird, bevor es sich schließlich für Bash entscheidet. Gibt es eine Möglichkeit, Perl 5.16 zu entfernen, um dieses Problem sicher zu lösen?

Antworten (1)

Ihre PATH-Variable wurde durch einen unregelmäßigen Dateiinhalt kontaminiert: Entweder Ihre Git-Datei in /etc/paths.d/, /etc/profile oder ~/.MacOSX/environment.plist oder alle drei sind beschädigt.

Verwenden Sie shiftcmdGim Finder, um zu den einzelnen Ordnern zu springen und deren Inhalt zu überprüfen.

/etc/paths.d/ sollte eine Datei git mit dem Inhalt enthalten /usr/local/git/bin. Wenn Sie andere Apps wie X11 installiert haben, befinden sich möglicherweise zusätzliche Dateien in der Datei "paths.d", die alle Pfade enthalten.

Das Dateiprofil in /etc/ sollte mindestens enthalten

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
    eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
    [ -r /etc/bashrc ] && . /etc/bashrc
fi

Die Datei environment.plist sollte wie folgt aussehen:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PATH</key>
    <string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin</string>
</dict>
</plist>

Der PATH-String kann auch andere Pfade enthalten. Die Datei kann andere Schlüssel enthalten - abhängig von anderen Installationen, die Sie zuvor vorgenommen haben.


Wenn Sie in einer der Dateien unregelmäßige Inhalte gefunden haben, ersetzen Sie diese einfach durch die oben angezeigten Inhalte. Sie müssen ein Administrator sein, um die ersten beiden Dateien zu ändern, da sie root:wheel realm sind. Wenn Sie TextEdit oder einen anderen Texteditor verwenden, um sie zu ändern, achten Sie darauf, sie als einfachen Text und ohne Dateierweiterung (z. B. .txt) zu speichern. Sie können eine fehlende ~/.MacOSX/environment.plist ignorieren, da sie in Ihrer Umgebung (Systemversion) nicht mehr unterstützt wird, außerdem verwenden Sie einige Hacks.

Danke @klanomath /etc/paths.d/ enthält eine ausführbare Unix-Datei. Das Öffnen in TextEdit ergab eine Reihe unverständlicher Zeichen ohne Verweis auf /usr/local/git/bin (allerdings mit einigen Verweisen auf Speicherorte in /usr/lib/.. zwischen den Zeichen). Doppelklicken auf geöffnetes Git im Terminal nach der gleichen Reihe von Fehlern. /etc/profile enthält genau die Informationen, die Sie beschrieben haben, ohne andere. Bemerkenswerterweise wechselt das Terminal jetzt zwischen path_helper und bash. Max OSX 10.8 und höher unterstützt die Datei „environment.plist“ nicht. Der Ordner „ ~/.MacOSX“ fehlt
@ShubhayanGhoshal environment.list funktioniert immer noch mit einigen Tricks in neueren Systemversionen ;-). Ich wollte nur sicherstellen, dass sein Inhalt kein binärer oder anderer unregelmäßiger Inhalt ist.
Ich werde versuchen, die Umgebungsvariablen mit diesem Verfahren zurückzusetzen: [( dowdandassociates.com/blog/content/… . Ich denke, dass die Beschädigung von PATH die Ursache für dieses Problem ist.
@ShubhayanGhoshal Sie müssen die Datei „environment.plist“ nicht erstellen, wenn keine vorhanden ist. Aber eine bereits existierende environment.plist darf keinen Kauderwelsch enthalten. In Ihrem Fall ist es der falsche Inhalt von /etc/paths.d/git. Ersetzen Sie einfach den (binären) Inhalt durch die Zeichenfolge /usr/local/git/bin.
Git aus /etc/paths.d/ gelöscht. Terminal- und RStudio-Probleme behoben. Mögen die Götter dich in den Toren des Himmels willkommen heißen.