Aktualizacja Bash na Mac OSX

2

Więc wykonałem ten samouczek ...

Wygląda na to, że działało dobrze. Kiedy piszę

echo $SHELL and echo $BASH_VERSION

dostaję

"/usr/local/bin/bash" and "4.0.0(1)-release„.

Ale kiedy po prostu uruchamiam „ bash”, otrzymuję wiersz poleceń powłoki za pomocą „ bash-3.2$” (nie jesteś pewien, czy to jest ważne?) I kiedy próbuję zainstalować RVM (co jest moim głównym powodem aktualizacji), wciąż otrzymuję

BASH 3.2.25 required (you have 3.2.17(1)-release)

błąd.

Relja
źródło
Twoja instalacja OS X jest dość stara, prawda? W wersji 10.6.8 /bin/bashma wersję 3.2.48(1)-release. W każdym razie samouczek, z którym się łączyłeś, został napisany 3 lata temu, a najnowsza wersja Bash to 4.2.37 . Możesz to zainstalować.
Percival Ulysses,

Odpowiedzi:

1

Wynika to z faktu, że /bin/bashma pierwszeństwo /usr/local/bin/bashw $ PATH. Kiedy więc po prostu napiszesz bash, załaduje to pierwsze zamiast nowszej wersji.

Aby to naprawić, musisz edytować ~/.bash_profilei dodać:

export PATH=/usr/local/bin:$PATH

Zapisz plik i załaduj ponownie powłokę (np. Wychodząc z terminalu). Teraz każde wywołanie do bashpowinno używać wersji /usr/local/binzamiast.

slhck
źródło
Oto dokumentacja dotycząca zmiennej PATH, na końcu omówiono OS X. Możesz także edytować /etc/paths(pod warunkiem, że masz uprawnienia administratora) i umieścić linię / usr / local / bin powyżej linii / bin, aby pliki binarne /usr/local/binmiały pierwszeństwo.
Percival Ulysses
To prawda, ale osobiście wolałbym nie zmieniać plików systemowych dla tego rodzaju zadań na użytkownika.
slhck