Jak edytować $ PATH (.bash_profile) na OSX?

174

Próbuję edytować wpis w PATH, ponieważ zrobiłem coś nie tak.

Używam systemu Mac OS X 10.10.3

Próbowałem:

> touch ~/.bash_profile; open ~/.bash_profile

Ale edytor plików otwiera się bez niczego w środku.

Mój problem:

Próbuję zainstalować ANDROID_HOME na mojej ścieżce

Błąd pisowni, ale kiedy zamknąłem terminal i wróciłem, zniknął, więc spróbowałem ponownie:

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Tym razem poprawnie wpisałem polecenie, ale kiedy zamknąłem terminal, moje ustawienia ponownie zniknęły.

Jak mogę wykonać żądane ustawienia?

Gdybym miał edytować bash.profile, jak wprowadziłbym powyższy kod?

Dzięki!

Joolah
źródło
3
Użyj vi ~/.bash_profilelub subl ~/.bash_profilelub mate ~/.bash_profile, w zależności od ulubionego edytora.
Droppy
właśnie próbowałem nano ~ / .bash_profile, ładuje się, ale w środku nie ma nic
Joolah
1
Wygląda na .bash_profileto, że jest pusty / brakujący.
Droppy
3
Dla początkujących, takich jak te uwagi pomogą: 1. ~/.bash_profileoznacza, że ​​znajduje się w katalogu głównym . ~oznacza katalog główny. 2. pliki z prefiksem .są niewidoczne dla lspolecenia. Są trochę jak ukryte pliki, pliki, których normalny użytkownik tak naprawdę nie musi widzieć. Nasz przypadek tutaj jest wyjątkiem. Aby móc to zobaczyć, możesz to zrobić ls -a3. touchutworzy plik w określonym katalogu, jeśli nie istnieje. Jeśli istnieje, to nic się nie stanie
Honey,
4. i oczywiście openotworzy go za pomocą domyślnego edytora wiadomości. 5. W rezultacie wykonanie touch ~/.bash_profilez dowolnego katalogu będzie działać. ponieważ twoja ścieżka nie jest względna
Kochanie,

Odpowiedzi:

359

Musisz otworzyć ten plik w edytorze tekstu, a następnie go zapisać.

touch ~/.bash_profile; open ~/.bash_profile

Otworzy plik za pomocą TextEdit, wklei twoje rzeczy, a następnie zapisze go. Jeśli otworzysz go ponownie, znajdziesz swoje zmiany.

Możesz użyć innych edytorów:

nano ~/.bash_profile
mate ~/.bash_profile
vim ~/.bash_profile

Ale jeśli nie wiesz, jak z nich korzystać, łatwiej jest zastosować to openpodejście.


Alternatywnie możesz polegać pbpaste. Kopiuj

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

w schowku systemowym, a następnie w trybie powłoki

pbpaste > ~/.bash_profile

Lub alternatywnie możesz również użyć cat

cat > ~/.bash_profile

(teraz catczeka na wejście: wklej dwie definicje eksportu, a następnie naciśnij ctrl-D).

Alessandro Vendruscolo
źródło
Występują problemy z używaniem takich rzeczy, jak catzapisywanie do plików, gdy tekst zawiera odniesienia do zmiennych środowiskowych, ponieważ oznacza to, że te odniesienia muszą zostać zmienione. Zwykle używa się edytora tekstu.
Droppy
Co by to znaczyło, gdybym wpisał „touch ./bash_profile” (nic nie mówi), a następnie „open .bash_profile” i powiedział mi, że plik nie istnieje?
Dronz
82

Nieco bardziej szczegółowe dla początkujących:

Najpierw upewnij się, że plik .bash_profile istnieje? Pamiętaj, że plik .bash_profile domyślnie nie istnieje. Musisz go stworzyć samodzielnie.

Przejdź do folderu użytkownika w Finderze . Powinien tam być widoczny plik .bash_profile. -> HD / Użytkownicy / [NAZWA UŻYTKOWNIKA]

Pamiętaj: pliki z punktem na początku „.” są domyślnie ukryte .

Aby pokazać ukryte pliki w Finderze Mac OS:

Press: Command + Shift + .

Jeśli nie istnieje, musisz samodzielnie utworzyć .bash_profile .

Otwórz aplikację terminala i przejdź do folderu użytkownika za pomocą prostego polecenia:

cd

Jeśli nie istnieje, użyj tego polecenia, aby utworzyć plik :

touch .bash_profile

Po drugie, jeśli nie możesz zapamiętać nerdowskich poleceń zapisywania i zamykania w vimie, nano itp. (Sposób zalecany powyżej), najłatwiejszym sposobem edycji jest otwarcie pliku .bash_profile w ulubionym edytorze kodu (Sublime itp.).

Finder -> folder użytkownika. Kliknij prawym przyciskiem myszy -> otwórz za pomocą: Sublime Text (lub innego edytora kodu). Lub przeciągnij go do aplikacji w doku.

… I tam możesz go edytować, przekazywać polecenia eksportu w nowych wierszach.

Herr_Hansen
źródło
1
Ja osobiście uważam dostępu „ukryte” pliki normalnie być plus z emacs ...
Mallory-Erik
2
Zaktualizowałem sposób, aby pokazać ukryte pliki w Finderze Mac OS. Wciśnij: Command + Shift +.
Herr_Hansen,
Z jakiegoś powodu touch nie utworzył pliku, ale użyłem kota, aby zrobić to tak, jak w odpowiedzi Alessandro.
Dronz
44

Jeśli używasz MAC Catalina, musisz zaktualizować plik .zshrc zamiast .bash_profile lub .profile

Marcus Gallegos
źródło
2
Wow, oszalałem, próbując dowiedzieć się, dlaczego nie mogę zaktualizować bundlera i dlaczego mój system szuka złej ścieżki dla ruby. Czy powinienem skopiować wklej mój bash_profile do zshrc?
ricks
Używam Cataliny, ale nie znajduję tego pliku, czy możesz wyjaśnić, co to jest katalog?
MrDev
WTF, to szaleństwo!
loretoparisi
Musisz się upewnić, że twój terminal jest teraz zsh z chsh -s /bin/zsh. To aktywuje twój terminal, aby automatycznie był zsh. Następnie możesz wprowadzić zmiany w ~ / .zshrc lub ~ / .zprofile.
775
DZIĘKUJĘ CI. Jeśli nie chcesz wpisywać wszystkiego ponownie, możesz po prostu zrobić:mv .bash_profile .zshrc
Hatzil,
9

Dla początkujących: Aby utworzyć .bash_profileplik w katalogu domowym w systemie MacOS, uruchom:

nano ~/.bash_profile

Następnie możesz wkleić następujące elementy:

https://gist.github.com/mocon/0baf15e62163a07cb957888559d1b054

Jak widać, zawiera kilka przykładowych aliasów i zmienną środowiskową na dole.

Gdy skończysz wprowadzać zmiany, postępuj zgodnie z instrukcjami u dołu okna edytora Nano, aby WriteOut ( Ctrl-O) i Exit ( Ctrl-X). Następnie zamknij terminal i otwórz go ponownie, a będziesz mógł używać nowo zdefiniowanych aliasów i zmiennych środowiskowych.

Myles O'Connor
źródło
5

Na Macbooku krok po kroku:

  1. Przede wszystkim otwórz terminal i napisz go: cd ~/
  2. Utwórz swój plik bash: touch .bash_profile

Utworzyłeś swój plik ".bash_profile", ale jeśli chcesz go edytować, powinieneś go zapisać;

  1. Edytuj swój profil bash: open -e .bash_profile

Po zapisaniu z lewego górnego rogu ekranu: Plik> Zapisz

@canerkaseler

canerkaseler
źródło
1

Mac OS X nie przechowuje ścieżki w .bash_profile, ale .profile, ponieważ Mac OS X jest gałęzią rodziny * BSD. Powinieneś być w stanie zobaczyć eksport bla bla bla w .profile po wykonaniu cat .profile na swoim terminalu.

neemo810707
źródło
2
W Yosemite (10.10) nie jest to już prawdą, jeśli kiedykolwiek tak było. Bash już od dawna jest domyślną powłoką na macOS. Historycznie rzecz biorąc, * BSD posiadał coś, cshco jest niekompatybilne i używa, .cshrca nie .profile(chociaż jeśli potrzebujesz użyć kilku powłok kompatybilnych z Bourne, warto mieć wspólne ustawienia .profile).
tripleee
1

Dla mnie mój Mac OS to Mojave. i mam ten sam problem przez trzy dni i na końcu po prostu piszę poprawną ścieżkę w pliku .bash_profile, który wygląda tak:

    export PATH=/Users/[YOURNAME]/development/flutter/bin:$PATH
  • uwaga1: jeśli nie masz .bash_profile, utwórz go i napisz powyższą linię
  • note2: spakuj pobrany pakiet Flutter SDK w [home] / development, jeśli skopiujesz i wkleisz tę ścieżkę
ALI HUSSEIN
źródło
To. Pamiętaj też, aby zamknąć terminal i otworzyć nowy, aby zobaczyć, jak działają polecenia trzepotania
Paolo
0

Ustaw ścieżkę JAVA_HOME i ANDROID_HOME> Musisz otworzyć terminal i wprowadzić poniższe cmd.

touch ~/.bash_profile; open ~/.bash_profile

Następnie wklej poniższe ścieżki w pliku profilu podstawowego i zapisz go

export ANDROID_HOME=/Users/<username>/Library/Android/sdk 
export PATH="$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
Bheem Singh
źródło
0

Określ, której powłoki używasz, wpisując echo $SHELLw Terminalu.

Następnie otwórz / utwórz poprawny plik rc. Dla Basha to $HOME/.bash_profilelub $HOME/.bashrc. Dla powłoki Z to jest$HOME/.zshrc .

Dodaj tę linię na końcu pliku:

export PATH="$PATH:/your/new/path"

Aby to sprawdzić, odśwież zmienne, uruchamiając ponownie Terminal lub wpisując, source $HOME/.<rc file>a następnie wykonajecho $PATH

Pavel
źródło