Wiederherstellungspfad, der aus /private/etc/paths gelesen werden soll

Ich habe die Anleitung von https://docs.aws.amazon.com/cli/latest/userguide/cli-install-macos.html verwendet

um AWS CLI unter macOS zu installieren. Nach dem Ausführen des Befehls source ~/.bash_profilescheint mein Standard-PATH-Speicherort aus der Datei /private/etc/paths verloren gegangen zu sein.

/private/etc/paths Dateiinhalt:

/usr/bin/vim /private/etc/paths

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

Inhalt der Datei ~/.bash_profile:

# Setting PATH for Python 3.6
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH

Zum Beispiel kann der nächste Befehl den Speicherort der in /usr/bin/ installierten Basisdateien nicht finden: -bash: vim: Befehl nicht gefunden

Ist es eine Möglichkeit, den Pfad wiederherzustellen, der aus /private/etc/paths gelesen wird?

echo $PATH
/Library/Frameworks/Python.framework/Versions/3.6/bin:/Users/<myusername>/bin:/Library/Python/3.6/bin/

Außerdem kann ich nicht denselben Befehl verwenden, um vom Speicherort erneut zu lesen

source /private/etc/paths
-bash: /usr/local/bin: is a directory
-bash: /usr/bin: is a directory
-bash: /bin: is a directory
-bash: /usr/sbin: is a directory
-bash: /sbin: is a directory
Es muss export PATH ...irgendwo eine Sekunde geben, die Ihren Standardpfad unterbricht. Sonst echo $PATHwürde nicht angezeigt: ...:/Users/<myusername>/bin:/Library/Python/3.6/bin/! Bitte korrigieren Sie Ihren hässlichen /private/etc/paths Inhalt: 1. Entfernen Sie leere Zeilen 2. Entfernen Sie Leerzeichen und /private/etc/paths (/private/etc/paths ist kein Verzeichnis)!
Ja, es scheint, dass in den vorherigen Schritten irgendwo in dieser Datei ein Fehler aufgetreten ist. :$PATHEs scheint, als hätte ich vergessen, am Ende anzuhängen . Ist es eine Möglichkeit, den Standardspeicherort zu verwenden? Jetzt habe ich alle Standardpfade hinzugefügt .bash_profileund alles funktioniert gut. Ich möchte nur richtig und übersichtlich konfiguriert werden
Das Hinzufügen der Standardpfade zu Ihrem Bash-Profil ist nur Klebeband ...

Antworten (1)

  1. Korrigieren Sie Ihren /private/etc/paths-Inhalt:

    Der Standardinhalt ist:

    /usr/local/bin
    /usr/bin
    /bin
    /usr/sbin
    /sbin
    

    Wenn Sie /usr/bin/vim einschließen möchten (aber nur, wenn vim ein Ordner ist, der einige ausführbare Dateien enthält - die von macOS installierte vim-exec ist /usr/bin/vim!), ändern Sie den Inhalt wie folgt:

    /usr/local/bin
    /usr/bin/vim
    /usr/bin
    /bin
    /usr/sbin
    /sbin
    
  2. Sie haben irgendwo eine andere (übergeordnete) export PATHZeile (z. B. Bash-Konfigurationsdateien) mit folgendem Inhalt:

    export PATH="/Users/<myusername>/bin:/Library/Python/3.6/bin/:*"
    

    mit *= fehlt entweder ganz oder eine falsch definierte PATH-Variable (z. B. Pfad statt PATH)

    Zumindest erbt es nicht die durch /private/etc/paths definierten Standardpfade

    Dieser erste PATH-Export und der zweite in Ihrem ~/.bash_profile ergeben dann etwas Defektes wie:

    /Library/Frameworks/Python.framework/Versions/3.6/bin:/Users/<myusername>/bin:/Library/Python/3.6/bin/ 
    

    als PFAD

Sind Sie sicher, dass Sie /usr/bin/vimwörtlich in /etc/paths?
@patrix Ich nahm an, dass das OP einen Ordner vim hinzugefügt oder ein Vim eines Drittanbieters in /usr/bin/vim installiert hat ;-). Aber ich werde eine Erklärung/Ausschluss hinzufügen; Danke
Ich denke, es ist nur eine schlechte Formatierung in der Frage und sie haben vim verwendet, um die Datei in der ersten Zeile des Codeblocks zu öffnen.