Eu sei que posso definir "Shells abertos com" nas preferências do Terminal, mas estou curioso para saber se existe alguma maneira de definir isso em todo o sistema (semelhante à atualização de / etc / passwd em alguns Unixes).
21
Use o chsh
utilitário da seguinte maneira:
chsh -s bash
A Apple mudou chsh
um pouco no Mac OS X em comparação com o que chsh
você veria no Linux, por exemplo. Você pode ler sobre eles na página de manual do Mac OS X chsh .
Observe que você só poderá mudar para um shell listado em
/etc/shells
. Isso normalmente é bom, mas significa que, se você deseja instalar o Bash 4 (do Homebrew, MacPorts ou compilar o seu próprio), é necessário adicionar uma linha ao/etc/shells
. (Eu me deparei com isso há algumas semanas e achei que poderia ajudar outras pessoas a saber ...)Edit : Tim Smith ressalta que você pode contornar a
/etc/shells
limitação se executarchsh
como root viasudo
. Por exemplosudo chsh -s /usr/local/bin/my_shell $USER
, funcionará, mesmo quemy_shell
não esteja listado em/etc/shells
. Eu prefiro editar/etc/shells
, mas, no final, é um uso desudo
qualquer maneira, já que você não pode editar/etc/shells
como um usuário comum. Então talvez seis de um, meia dúzia do outro.fonte
/etc/shells
se você não precisa? Por sanidade, prefiro manter os arquivos do sistema iguais./etc/shells
é o arquivo no sistema que define shells reconhecidos. Eu mudo esse arquivo porque quero adicionar um shell à lista de shells reconhecidos. Parece bastante razoável para mim.chsh: bash: non-standard shell
chsh
sozinho se estiver tentando usar um shell que não esteja listado/etc/shells
./etc/shells
que me parece estranho.Para fazer isso usando a GUI do Mac OS X:
Observe que esse local é onde você pode alterar seu diretório pessoal, UUID, ID do usuário, ID do grupo e nome abreviado se não se sentir à vontade com o Terminal. Há uma pergunta semelhante localizada aqui também.
fonte
Usando as respostas acima, recebi uma mensagem de erro:
Para contornar isso:
whoami
em um subshell é alterar o shell para o usuário, não a raiz.Mais uma coisa se você estiver usando homebrew. Quando você executa comandos como root (usando
sudo
), o zsh aponta para / bin / zsh, que acompanha o OSX e pode estar desatualizado. Para usar o que está instalado via homebrew, use o seguinte:fonte