Wiem, że mogę ustawić „Powłoki otwarte za pomocą” w preferencjach terminalu, ale jestem ciekawy, czy istnieje jakiś systemowy sposób ustawienia tego (podobny do aktualizacji / etc / passwd w niektórych Uniksach).
21
Użyj chsh
narzędzia w taki sposób:
chsh -s bash
Apple zmieniło chsh
się nieco w systemie Mac OS X w porównaniu do tego chsh
, co można zobaczyć na przykład w systemie Linux. Można przeczytać o nich w chsh Mac OS X Człowiek strony .
Pamiętaj, że możesz zmienić tylko na powłokę wymienioną w
/etc/shells
. Zwykle jest to w porządku, ale oznacza to, że jeśli chcesz zainstalować Bash 4 (z Homebrew, MacPorts lub skompilować własny), musisz dodać linię/etc/shells
. (Wpadłem na to kilka tygodni temu i pomyślałem, że może to pomóc innym wiedzieć ...)Edycja : Tim Smith wskazuje, że możesz obejść to
/etc/shells
ograniczenie, jeśli uruchomiszchsh
jako rootsudo
. Np.sudo chsh -s /usr/local/bin/my_shell $USER
Będzie działać, nawet jeślimy_shell
nie jest wymieniony w/etc/shells
. Wolę edytować/etc/shells
, ale ostatecznie jest to jedno zsudo
obu sposobów, ponieważ nie możesz edytować/etc/shells
jako zwykły użytkownik. Więc może sześć z jednego, pół tuzina drugiego.źródło
/etc/shells
jeśli nie musisz? Dla zachowania zdrowia wolę zachować te same pliki systemowe./etc/shells
to plik w systemie, który definiuje rozpoznane powłoki. Zmieniam ten plik, ponieważ chcę dodać powłokę do listy rozpoznawanych powłok. Wydaje mi się dość rozsądny.chsh: bash: non-standard shell
chsh
samego, jeśli próbujesz użyć powłoki, której nie ma na liście/etc/shells
./etc/shells
co wydaje mi się dziwne.Aby to zrobić za pomocą graficznego interfejsu użytkownika systemu Mac OS X:
Warto zauważyć, że w tej lokalizacji możesz zmienić katalog domowy, UUID, identyfikator użytkownika, identyfikator grupy i krótką nazwę, jeśli nie czujesz się komfortowo z terminalem. Jest to podobne pytanie znajduje się tutaj , jak również.
źródło
Korzystając z powyższych odpowiedzi, otrzymałem komunikat o błędzie:
Aby obejść ten problem:
whoami
w podpowłoce jest zmiana powłoki dla użytkownika, a nie katalogu głównego.Jeszcze jedno, jeśli używasz homebrew. Po uruchomieniu komend jako root (za pomocą
sudo
), zsh wskazuje na / bin / zsh, który jest dostarczany z OSX i może być nieaktualny. Aby skorzystać z aktualnej wersji zainstalowanej przez Homebrew, użyj następujących opcji:źródło