Przywróć ścieżkę do odczytu z / private / etc / paths

2

Użyłem tego, jak to zrobić https://docs.aws.amazon.com/cli/latest/userguide/cli-install-macos.html

zainstalować AWS CLI na macOS. Po wykonaniu polecenia source ~/.bash_profile wygląda na to, że moja domyślna lokalizacja PATH z pliku / prywatnego / etc / paths została utracona.

/ prywatna zawartość pliku / etc / paths:

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

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

Zawartość pliku ~ / .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

Na przykład następne polecenie nie może znaleźć lokalizacji podstawowych plików zainstalowanych w / usr / bin /: -bash: vim: nie znaleziono polecenia

Czy jest to sposób na przywrócenie ścieżki do odczytu z / private / etc / paths?

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

Nie mogę też użyć tego samego polecenia, aby ponownie odczytać z lokalizacji

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
user2105282
źródło
1
Musi być sekunda export PATH ... gdzieś, który łamie domyślną ścieżkę. Inaczej echo $PATH nie pokaże: ...:/Users/<myusername>/bin:/Library/Python/3.6/bin/! Napraw swój brzydki / private / etc / paths treść: 1. usuń puste linie 2. usuń spacje i / prywatne / etc / paths (/ private / etc / paths jest Nie informator)!
klanomath
1
Tak, wydaje się, że w poprzednich krokach w tym pliku wystąpił błąd. Wygląda na to, że zapomniałem dołączyć :$PATH na końcu. Czy jest to sposób na użycie domyślnej lokalizacji plików? Teraz dodałem wszystkie ścieżki domyślne .bash_profile i wszystko działa dobrze. Po prostu chcę być skonfigurowany w prawidłowy i przejrzysty sposób
user2105282
1
Dodanie domyślnych ścieżek do profilu bash to po prostu taping ...
klanomath

Odpowiedzi:

2
  1. Napraw swoją / prywatną zawartość / etc / paths:

    Domyślna treść to:

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

    Jeśli chcesz dołączyć / usr / bin / vim (ale tylko wtedy, gdy vim jest folderem zawierającym niektóre pliki wykonywalne - instalowany przez macOS vim to / usr / bin / vim!) Zmodyfikuj zawartość na:

    /usr/local/bin
    /usr/bin/vim
    /usr/bin
    /bin
    /usr/sbin
    /sbin
    
  2. Masz innego (przełożonego) export PATH gdzieś (np. pliki konfiguracyjne bash) o następującej treści:

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

    z * = albo całkowicie brakuje, albo fałszywie zdefiniowana zmienna PATH (np. Ścieżka zamiast PATH)

    Przynajmniej nie dziedziczy standardowych ścieżek zdefiniowanych przez / private / etc / paths

    Ten pierwszy eksport PATH, a drugi w pliku ~ / .bash_profile daje coś zepsutego, jak:

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

    jako PATH

klanomath
źródło
1
Jesteś pewien, że możesz to zrobić /usr/bin/vim dosłownie w /etc/paths?
nohillside
1
@patrix Przyjąłem, że OP dodał teczka vim lub zainstalowałem vima w 3rd party w / usr / bin / vim ;-). Ale dodam wyjaśnienie / wykluczenie; dzięki
klanomath
1
Myślę, że to po prostu złe formatowanie w pytaniu i użyli vima do otwarcia pliku w pierwszym wierszu bloku kodu.
nohillside