Outra maneira de executar um shell interativo como o superusuário é sudo -s
, que usa $SHELL
como o shell.
Como os comentários da outra resposta mencionada, su -s /path/to/zsh
não funciona no OS X.
O OS X também não suporta a troca de shells de login em /etc/passwd
, mas você pode usar dscl
:
$ dscl . -read /Users/root UserShell
/bin/sh
$ sudo dscl . -change /Users/root UserShell /bin/sh /bin/zsh
$ dscl . -read /Users/root UserShell
/bin/zsh
$ sudo su
My-iMac# echo $0
zsh
My-iMac# exit
$ sudo dscl . -change /Users/root UserShell /bin/zsh /bin/sh
$
/bin/sh
não é mais uma shell Bourne na maioria das plataformas. É um Versão do bash compatível com POSIX no OS X e no Ubuntu.