Odpowiedzi:
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 uruchomisz chsh
jako root sudo
. Np. sudo chsh -s /usr/local/bin/my_shell $USER
Będzie działać, nawet jeśli my_shell
nie jest wymieniony w /etc/shells
. Wolę edytować /etc/shells
, ale ostatecznie jest to jedno z sudo
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.
/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ż.
Korzystając z powyższych odpowiedzi, otrzymałem komunikat o błędzie:
$ chsh -s zsh
Changing shell for myuser.
Password for myuser:
chsh: zsh: non-standard shell
Aby obejść ten problem:
sudo chsh -s zsh $(whoami)
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:
sudo chsh -s $(which zsh) $(whoami)