Jestem nowy w OS X. Używam OS X Lion na MacBooku Pro. Czy można bezpiecznie zaktualizować powłokę bash za pomocą Homebrew:
$ brew install bash
Jeśli to bezpieczne, w jaki sposób mogę ustawić go jako domyślną instancję powłoki uruchamianej przez Terminal?
Dzięki!
Odpowiedzi:
Pliki binarne w
/{,usr/}{,s}bin/
zwykle nie powinny być zastępowane innymi plikami. Inne programy oczekują, że będą to wersje dostarczane z systemem OS X i zostaną zastąpione aktualizacjami systemu operacyjnego.Po uruchomieniu
brew install bash
możesz bezpiecznie zmienić domyślną powłokę poprzez:/usr/local/bin/bash
do/etc/shells
chsh -s /usr/local/bin/bash
.Ustawienia w Terminalu lub iTerm 2 zwykle nie muszą być zmieniane. Oba domyślnie otwierają nowe okna za pomocą powłoki logowania domyślnej powłoki.
Domyślną powłokę można również zmienić w Preferencjach systemowych lub za pomocą dscl, ale wszystkie trzy opcje po prostu się zmieniają
/var/db/dslocal/nodes/Default/users/$USER.plist
.źródło
/etc/shells
Wymagana jest odrobina edytowania w celu uwzględnienia bash instalowanego podczas parzenia. W przeciwnym razie (przynajmniej na moim komputerze) Terminal odmówi uruchomienia.brew install bash
to zadziałało. (tzn. nie/etc/shells
Mógłbym się tutaj mylić, ale o ile wiem
brew
, zainstalowałbym własną instancjębash
, ponieważ brew działa pod,/usr/local/bin
a domyślne ustawienia systemu działają pod/bin
(i/usr/bin
).O Terminalu możesz otwierać powłoki za pomocą własnego, niestandardowego polecenia. Przejdź do Preferencje> Uruchamianie i wybierz Powłoki otwarte za pomocą: Polecenia (pełna ścieżka) . Po prostu wpisz ścieżkę do swojej nowej
bash
i vuala!Mam nadzieję, że to pomoże!
BTW: Kopia zapasowa! Najlepsza rada w takich sytuacjach!
źródło
Zanim zrobisz cokolwiek, wykonaj kopię zapasową bieżącego pliku (oczywiście, ale zawsze zasługuje na to, aby powiedzieć)
Następnie utwórz symboliczne łącze do pliku wykonywalnego bash, który Homebrew pobrał. Myślę, że tak będzie w / usr / local / Cellar
Teraz / bin / bash wskazuje plik w katalogu usr / local
źródło
Myślę, że to bezpieczne, jeśli po prostu uruchomisz
a następnie dodaj go jako domyślną powłokę
ponieważ modyfikujesz tylko bieżącego użytkownika. Zauważyłem jednak, że mój domyślny ~ / .profile to
więc musi zostać zaktualizowany. Zmieniłem to na
źródło
chsh
sam nie wystarczy. Również twój zaktualizowany fragment .profile wygląda identycznie jak oryginalnybrew install bash
nie wymagało żadnych dalszych działań. W przypadku zaktualizowanego profilu, który udostępniłem, nie działa. Mam nadzieję, że to może pomóc innym.