Usar o zsh como o shell padrão no Mac
Desde o macOS Catalina, o Mac usa o zsh como shell de início de sessão padrão e shell interativo. Você pode tornar o zsh o padrão nas versões anteriores do macOS também.
Por padrão, o Mac usa o zsh ou bash como o interpretador de linha de comando para o shell de início de sessão e o shell interativo:
O zsh (Z shell) é o shell padrão para todas as contas de usuários recém-criadas, desde o macOS Catalina.
bash é o shell padrão no macOS Mojave e anterior.
O zsh é altamente compatível com o Bourne shell (sh) e é compatível principalmente com o bash, com algumas diferenças. Para obter mais informações sobre o zsh e seu completo sistema de conclusão de linha de comando, insira man zsh
Como alterar o shell padrão
Se a conta de usuário estiver configurada para usar o zsh (recomendado), bash ou outro shell, você poderá alterar o shell padrão nos ajustes "Usuários e Grupos" ou na linha de comando.
Na linha de comando
No Terminal, insira $ chsh -s path
, onde path é um dos caminhos shell relacionados em /etc/shells, como /bin/zsh, /bin/bash, /bin/csh, /bin/dash, /bin/ksh, /bin/sh ou /bin/tcsh.
Nos ajustes "Usuários e Grupos"
No macOS Ventura ou posterior:
Selecione o menu Apple () > Ajustes do Sistema e clique em "Usuários e Grupos" na barra lateral.
Clique com a tecla Control pressionada em seu nome de usuário ou imagem de usuário na lista de usuários à direita e selecione Opções Avançadas.
Insira seu nome de usuário e senha quando solicitado.
Selecione um shell no menu "Shell de início de sessão" e clique em OK para salvar as alterações.
Em versões anteriores do macOS:
Selecione o menu Apple > Preferências do Sistema e clique em "Usuários e Grupos".
Clique no
e insira o nome de usuário e a senha.Clique com a tecla Control pressionada em seu nome de usuário na lista de usuários à esquerda e selecione Opções Avançadas.
Selecione um shell no menu "Shell de início de sessão" e clique em OK para salvar as alterações.
Como usar um shell diferente sem alterar o padrão
Se você não quiser que o Terminal use o shell de início de sessão padrão em novas janelas e abas do Terminal:
Abra o Terminal e selecione Terminal > Ajustes (ou Preferências).
No painel Geral, selecione "Comando (caminho completo)".
No campo adjacente, insira um dos caminhos de shell indicados em /etc/shells, como /bin/zsh, /bin/bash, /bin/csh, /bin/dash, /bin/ksh, /bin/sh ou /bin/tcsh.
Se você acionar o bash shell e o macOS estiver configurado para usar um shell diferente, aparecerá uma mensagem informando que o shell interativo padrão agora é zsh. Para silenciar esse aviso, você pode adicionar este comando a ~/.bash_profile ou ~/.profile:
export BASH_SILENCE_DEPRECATION_WARNING=1
Como alternar para um perfil zsh e prompt
Se estiver usando um perfil bash como o perfil para definir variáveis do ambiente, aliases ou variáveis do caminho, você deverá alternar para usar um perfil equivalente ao zsh. Por exemplo:
.zprofile é equivalente a .bash_profile e é executado no início de sessão, inclusive sobre o SSH
.zshrc é equivalente a .bashrc e é executado para cada nova sessão do Terminal
Se estiver usando o .profile (um perfil compatível com POSIX), você poderá fazer com que o zsh leia automaticamente os ajustes do perfil adicionando este comando ao .zprofile:
[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
Você também pode mover alguns ajustes de um perfil bash para um perfil zsh sem modificação. Por exemplo, para definir variáveis do ambiente: export MY_SETTING=1
.
O zsh reconhece um conjunto diferente de especificadores de prompt do que o bash e tem uma sintaxe mais limpa para especificar saídas coloridas, eliminando a necessidade de usar sequências de escape ANSI complexas. Por exemplo, aqui está a sintaxe para um prompt bash padrão de .bash_profile:
export PS1="\[\e[92;40m\]\h\[\e[m\]:\[\e[93m\]\W\[\e[m\] \\$ "
Para converter esse prompt bash em um prompt zsh ao usar .zprofile ou .zshrc:
export PS1="%10F%m%f:%11F%1~%f \$ "
Veja a página inicial do zsh para obter mais informações.
Como testar os scripts de shell
Para testar a compatibilidade de scripts com shells compatíveis com Bourne no macOS Catalina ou posterior, você pode alterar /var/select/sh para /bin/bash, /bin/dash ou /bin/zsh. Se você alterar /var/select/sh para um shell diferente de bash, esteja ciente de que os scripts que fazem uso de características de bash podem não funcionar corretamente.
Você pode fazer o zsh emular o sh executando o comando zsh --emulate sh
.
As informações sobre produtos não fabricados pela Apple, ou sites independentes não controlados nem testados pela Apple, são fornecidas sem recomendação ou endosso. A Apple não assume responsabilidade alguma com relação à escolha, ao desempenho ou ao uso de sites ou produtos de terceiros. A Apple não garante a precisão nem a confiabilidade de sites de terceiros. Entre em contato com o fornecedor para obter mais informações.