Ich habe immer Probleme mit meinem Terminal, weil der Befehl, den ich verwenden möchte, "nicht gefunden" ist. Wenn ich dann versuche, diesen Befehl zu installieren, habe ich einen anderen Befehl, der ebenfalls "nicht gefunden" wurde und den ich installieren muss. Auch wenn ich so etwas wie sudo bekomme, funktioniert es für diese Sitzung, aber wenn ich das nächste Mal das Terminal öffne, muss ich die Befehle neu installieren. Wenn ich mache
echo $PATH
Es kehrt zurück
/opt/local/bin:/opt/local/sbin:’/usr/local/bin:??
Ich habe eine vorübergehende Lösung erhalten, die anständig funktioniert, aber ich muss sie jedes Mal wiederholen, wenn ich das Terminal öffne. Wenn mir also jemand erklären könnte, wie ich das dauerhaft beheben kann, wäre das großartig. Ich weiß, dass echo $ PATH das nicht zurückgeben soll.
echo $PATH
wirklich zurück,/opt/local/bin:/opt/local/sbin:’/usr/local/bin:??
einschließlich dieses einfachen Anführungszeichens und der beiden Fragezeichen?Antworten:
Möglicherweise müssen Sie keine Befehle deinstallieren oder neu installieren. Möglicherweise müssen Sie nur die Fehler beheben, die zur Beschädigung Ihrer
PATH
Variablen geführt haben.Geben Sie Folgendes ein, um angemessene Standardeinstellungen für die aktuelle Shell-Sitzung festzulegen:
Beachten Sie, dass dies nur das Problem für die aktuelle Shell-Sitzung behebt und das nächste Terminal-Fenster, das Sie öffnen, wieder in den fehlerhaften Zustand versetzt wird.
Um es für das nächste Mal zu beheben, müssen Sie herausfinden, wo es falsch eingestellt ist, und es dort beheben.
In modernen MacOS wird systemweites Pfadmaterial in
/etc/paths
und eingerichtet/etc/paths.d/*
(das sind textbasierte Konfigurationsdateien). Also überprüfe diese zuerst und stelle sicher, dass sie gesund aussehen.Außerdem gibt es systemweite Shell-Startskripte
/etc/
, wie z. B./etc/profile
und/etc/bashrc
. Es ist ziemlich üblich, Ihre zu setzen oder zu ergänzenPATH
in Shell-Startskripten. Wenn Sie oder ein Installer, Paketmanager oder Installationsskript diese bearbeitet haben, müssen Sie möglicherweise sehen, was es getan hat, und sie korrigieren (dh, Sie müssen diese Skriptdateien in einem Texteditor anzeigen und sie bearbeiten, um sie zu korrigieren, wenn Sie Fehler finden). . Welche Sie überprüfen müssen, hängt davon ab, welche Shells Sie verwenden, wie Sie sie aufrufen und verwenden (dh als Anmelde-, interaktive oder nicht interaktive Shells) und welche Shell-Startskriptdateien vorhanden sind (einige benötigen diese) Vorrang vor anderen Dateien haben, so dass andere Dateien aufgrund des Vorhandenseins einiger Dateien möglicherweise nicht ausgeführt werden). Sie müssen in den Manpages nach den verwendeten Shells suchen, um zu erfahren, welche Shell-Startskripts in welchen Situationen ausgeführt werden.Dann müssen Sie Ihre eigenen persönlichen Shell-Startskripte in Ihrem eigenen Home-Verzeichnis überprüfen. Welche Skripte ausgeführt werden, hängt wiederum davon ab, welche Shell Sie verwenden, wie Sie sie aufrufen und welche Skriptdateien vorhanden sind. Sie müssen daher die Manpages überprüfen. Sie werden wahrscheinlich zu sehen am Ende brauchen
~/.profile
und~/.bashrc
.Ein letzter Hinweis: Wenn Sie diesen ausgegebenen Text kopieren / einfügen, sieht es so aus, als ob er ein geschweiftes Zitat enthält, was darauf hindeutet, dass eines Ihrer Shell-Startskripts versehentlich ein geschweiftes Zitat enthält. Achten Sie darauf, Shell-Skripte und andere computerlesbare textbasierte Dateiformate (Quellcode, HTML, CSS, JavaScript, JSON, XML, .plists usw.) in GUI-Textverarbeitungsprogrammen / Texteditoren zu bearbeiten. Stellen Sie sicher, dass alle Funktionen zum Ersetzen von Text wie "Kluge Anführungszeichen" und "Kluge Bindestriche" deaktiviert sind, da Sie sonst versehentlich geschweifte Anführungszeichen erhalten, wenn Sie ein gerades Anführungszeichen oder einen Bindestrich mit zwei Bindestrichen benötigen. Die meisten computerlesbaren Formate betrachten einfache Anführungszeichen nur als syntaktisch sinnvoll.
quelle
vi
, können Sie es tunsudo vi /etc/paths
.