Ich bin wirklich neu bei Mac OSX- und UNIX-basierten Systemen. Ich wollte ein paar Windows-Spiele auf meinem Mac Mini ausführen, also begann ich mit der Installation von Wine und MacPorts.
Ich denke, die Installationen sind korrekt, aber wenn ich tippe, sudo port install wine
sehe ich einen nicht gefundenen Fehler in meinem Terminal. Ich habe andere grundlegende Befehle wie say
und ausprobiert clear
und alle geben den gleichen nicht gefundenen Fehler zurück.
Meine Recherchen zeigen, dass mein PATH möglicherweise falsch eingestellt ist, aber es fehlen Schritte, die ich implementieren kann.
Insbesondere habe ich diesen Befehl ausgeführt: echo $PATH
und es wurde zurückgegeben:
/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin
Ich bin ein absoluter Mac-Neuling und habe keine Ahnung, wo sich .bash_profile oder eine dieser Dateien befindet. Meine Fähigkeiten ermöglichen es mir, Xcode und die Befehlszeilentools für Xcode zu installieren, und ich spüre, dass ich die Pfadverwaltung verbessern muss.
An diesem Punkt brauche ich Hilfe beim Verwalten meiner Punktdateien und beim Ändern meines Pfads, um diese spezifischen Fehler in Mountain Lion zu beheben.
Was sind meine nächsten Schritte?
$PATH sollte diese Ordner enthalten: /usr/bin:/usr/sbin:/bin:/sbin
.
Versuchen Sie , , , oder (z. B. mit ) zu bearbeiten ~/.bash_profile
, und kommentieren Sie alle Zeilen aus, die den Pfad ändern.~/.profile
~/.bash_login
/usr/bin/open ~/.bash_profile -a TextEdit
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
Wenn das funktioniert , können Sie eine Zeile wie hinzufügen ~/.bash_profile
.
Bei mir ist ein ähnliches Problem aufgetreten, also habe ich Folgendes getan:
1) Export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
in das Terminal eingeben, damit es vorübergehend funktioniert
2) Bearbeiten von bash_profile durch Eingabe/usr/bin/open ~/.bash_profile -a TextEdit
3) Als ich meine bash_profile-Datei öffnete, stellte ich fest, dass der Export der letzten Zeile mit einigen seltsamen Symbolen wirklich chaotisch aussah, also änderte ich ihn vollständig inexport PATH=/opt/local/bin:/opt/local/sbin:$PATH
Ich bin ein absoluter Anfänger, aber ich habe es geschafft, diese Schritte zu machen, indem ich Lösungsstücke aus verschiedenen Fragen zu SE gelesen habe, also hoffe ich, dass es jemand anderem helfen könnte.
Es hört sich so an, als hätten Sie Ihren Pfad überschrieben, anstatt ihn nur hinzuzufügen.
Stellen Sie sicher, dass Sie beim Festlegen Ihres PATH "${PATH}"
auch Ihren vorhandenen Pfad einbeziehen.
Standardmäßig ist $PATH in einigen Dateien festgelegt. Technisch gesehen sollten Sie Ihren $PATH in der Datei .bash_profile in Ihrem Home-Verzeichnis hinzufügen.
Ein Vorschlag, ob Sie prüfen sollten, ob ein bestimmter Ordner vorhanden ist, bevor Sie ihn zu Ihrem PATH hinzufügen.
Ich habe zum Beispiel:
if [ -d /usr/local/bin ] ; then
PATH=/usr/local/bin:"${PATH}"
fi
if [ -d /usr/local/mysql/bin ] ; then
PATH=/usr/local/mysql/bin:"${PATH}"
fi
if [ -d /opt/local/bin ] ; then
PATH=/opt/local/bin:"${PATH}"
fi
if [ -d /opt/local/sbin ] ; then
PATH=/opt/local/sbin:"${PATH}"
fi
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi
(Der -d directory
Befehl prüft, ob das Verzeichnis existiert)
Bei mir ist genau dieses Problem aufgetreten, als ich versucht habe, ein neues Verzeichnis zu PATH hinzuzufügen, indem ich einen falschen Exportbefehl in meiner ~/.bash_profile
. Beide Beispiele unten.
export PATH=/some/new/path:PATH (incorrect, note missing $)
vs
export PATH=/some/new/path:$PATH (correct)
Zusätzlich zu den Fix-It-Antworten möchte ich auch eine Sache zum Testen hervorheben.
Wenn Ihr aktuelles Fenster einfach eine schlechte PATH-Variable hat und Ihr System nicht mehr kaputt ist, können Sie den Pfad einfach reparieren:
echo $PATH
/usr/libexec/path_helper
Vergleichen Sie die Ausgabe der beiden obigen Befehle. Wenn Sie zu einem "sicheren" Pfad zurückkehren möchten, kopieren Sie einfach die Zeile, die der path_helper
bereitstellt, und fügen Sie sie in dieses Terminal ein. Auf einem unveränderten Mac 10.11-System sollten Sie diese Ausgabe des Hilfsprogramms haben:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"; export PATH;
Wenn Ihr Pfad angepasst werden muss, dann schauen Sie sich auch zu dieser Frage die hervorragenden Antworten an.
PATH=$(/usr/bin/getconf PATH)
, um einen verwendbaren PATH in der aktuellen Shell zu erhalten. /usr/local
existiert nicht auf einem unveränderten System.path_helper
konstruiert den PATH aus dem aktuellen PATH, der /etc/paths
Datei und allen Dateien innerhalb von /etc/paths.d
. Es kann auch durch beliebige PATH-Einstellungen in beeinflusst werden /etc/launchd.conf
. getconf
gibt den im Kernel fest codierten System PATH aus sysctl user.cs_path
.Das ./bash_profile Ihres Terminals wurde möglicherweise überschrieben.
Verwenden Sie export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
im Terminal, um die aktuellen PATH-Einstellungen vorübergehend neu zu schreiben. Dies sollte Ihnen Zugang zu sudo
und geben, nano
die Sie dann verwenden werden nano .bash_profile
. Bei mir hat es funktioniert, alles in der Datei zu löschen.
Überprüfen Sie, ob die Ordneradresse in der PATH - Variablen vorhanden ist. Geben Sie am Terminal ein:
echo $PATH
Das Terminal zeigt Folgendes an: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
... ( andere Pfade in Verkettung )
Meine Hauptmotivation, diese Antwort zu teilen, ist, dass Sie zuerst prüfen müssen, ob PATH
die Variable die gesuchte Ordneradresse als einen ihrer Werte enthält. Darüber hinaus PATH
ruft der seine Werte von mehreren Orten ab, z. B. /etc/path
, ~/.bash_profile
, /etc/path.d
, ~/.zshrc
Wenn Sie Ihren nicht finden können, ist es offensichtlich, dass folder-address in enthalten sein muss PATH
. Wenn dies nicht der Fall ist, PATH
wird Ihr Befehl nicht erkannt. Sie können dies auf diese 2 Arten erreichen:
(Methode 'B' hat bei mir wie ein Zauber funktioniert)
A. (Kann funktionieren) Schreiben Sie es in die Datei .bash_profile~
im Ordner Home (wie viele vorherige Antworten oben erwähnt haben).
B. (100% funktioniert) Schreiben Sie es in die /etc/paths
Datei. ( paths -Datei befindet sich im /etc
Ordner. Stellen Sie erstens sicher, dass Sie über Lese- und Schreibzugriff verfügen, um diese Datei zu bearbeiten. Zweitens lassen die Systemeinstellungen keine Bearbeitung zu, da durch die Bearbeitung eine doppelte Kopie dieser Datei erstellt wird, die irrelevant ist. Daher besser damit bearbeiten vim ). Fügen Sie einfach die Ordner-Adresse in einer neuen Zeile in dieser Datei ein.
Starten Sie Ihr Terminal neu und starten Sie den Befehl, nach dem Sie suchen möchten.
Es lohnt sich, Ihre Terminaleinstellungen zu überprüfen. Drücken Sie auf der Tastatur die Befehls- und Kommatasten [⌘ ,]. Klicken Sie dann auf "Profile" und wählen Sie den Reiter "Shell". Stellen Sie sicher, dass der Startbefehl den richtigen Befehl enthält. (Standardmäßig leerer Text.) Versuchen Sie, die Option „Befehl ausführen“ zu deaktivieren, und öffnen Sie eine andere Terminal-Registerkarte. Es sollte standardmäßig die Standard-Shell Ihres Systems sein.
Irgendwie wurde während des Upgrade-Prozesses zwischen Mojave und BigSur meine Einstellung im Shell-Run-Befehl in "-bash" geändert ... Dies verursachte die
-bash: -bash: Befehl nicht gefunden
Fehler in meinem Fall, da es keine Probleme mit meinen .profile
, .bashrc
, und .bash_profile
Dateien gab.
Keine der Lösungen hat bei mir funktioniert. Also habe ich die Dateien im Stammordnerpfad manuell entfernt. Dann funktionierte. Der Pfad, den ich gefunden habe, war /Users/...**. Es waren versteckte Dateien, also sichtbar gemacht und bash_profile und zprofile entfernt. Dann funktionierte das Mac-Terminal einwandfrei.
Gordon Davisson
~/.zprofile
(oder vielleicht~/.zshenv
oder~/.zshrc
) statt in den Bash-Dateien nach.