Risposte:
Utilizzare l' chsh
utilità in questo modo:
chsh -s bash
Apple è cambiata chsh
un po 'su Mac OS X rispetto ad esempio a quello chsh
che vedresti su Linux. Si può leggere su loro nel chsh Mac OS X Man pagina .
Nota che ti sarà permesso di passare a una shell elencata in /etc/shells
. Questo di solito va bene, ma significa che se si desidera installare Bash 4 (da Homebrew, MacPorts o compilando il proprio), è necessario aggiungere una riga a /etc/shells
. (Mi sono imbattuto in questo poche settimane fa e ho pensato che potesse aiutare gli altri a sapere ...)
Modifica : Tim Smith sottolinea che è possibile aggirare la /etc/shells
limitazione se si esegue chsh
come root tramite sudo
. Ad esempio sudo chsh -s /usr/local/bin/my_shell $USER
funzionerà, anche se my_shell
non è elencato in /etc/shells
. Preferisco modificare /etc/shells
, ma alla fine, è un uso in sudo
entrambi i modi poiché non è possibile modificarlo /etc/shells
come utente normale. Quindi forse sei su uno, mezza dozzina dell'altro.
/etc/shells
se non è necessario? Per motivi di salute, preferisco mantenere gli stessi file di sistema.
/etc/shells
è il file sul sistema che definisce le shell riconosciute. Modifico quel file perché voglio aggiungere una shell all'elenco delle shell riconosciute. Mi sembra abbastanza ragionevole.
chsh: bash: non-standard shell
chsh
da solo se stai cercando di usare una shell che non è elencata /etc/shells
.
/etc/shells
che mi sembra strano.
Per fare ciò utilizzando la GUI di Mac OS X:
Da notare che questa posizione è dove puoi cambiare la tua home directory, UUID, ID utente, ID gruppo e nome breve se non ti senti a tuo agio con il Terminale. C'è una domanda simile anche qui .
Utilizzando le risposte sopra ho ricevuto un messaggio di errore:
$ chsh -s zsh
Changing shell for myuser.
Password for myuser:
chsh: zsh: non-standard shell
Per aggirare questo:
sudo chsh -s zsh $(whoami)
whoami
in una subshell è cambiare la shell per l'utente, non la radice.
Un'altra cosa se usi l'homebrew. Quando si eseguono comandi come root (usando sudo
), zsh punta a / bin / zsh, che viene fornito con OSX e potrebbe non essere aggiornato. Per utilizzare quello aggiornato installato tramite homebrew, utilizzare quanto segue:
sudo chsh -s $(which zsh) $(whoami)