Eu sou novo no OS X. Estou executando o OS X Lion em um MacBook Pro. É seguro atualizar o shell bash usando o Homebrew:
$ brew install bash
Se seguro, como faço para torná-lo a instância padrão do shell que corro pelo Terminal?
Obrigado!
Eu sou novo no OS X. Estou executando o OS X Lion em um MacBook Pro. É seguro atualizar o shell bash usando o Homebrew:
$ brew install bash
Se seguro, como faço para torná-lo a instância padrão do shell que corro pelo Terminal?
Obrigado!
Respostas:
Os binários em /{,usr/}{,s}bin/
normalmente não devem ser substituídos por outros arquivos. Outros programas esperam que sejam as versões que acompanham o OS X e são substituídos por atualizações do SO.
Após a execução brew install bash
, você pode alterar o shell padrão com segurança:
/usr/local/bin/bash
a/etc/shells
chsh -s /usr/local/bin/bash
.As configurações no Terminal ou no iTerm 2 normalmente não precisam ser alteradas. Ambos padronizam a abertura de novas janelas com um shell de login do shell padrão.
O shell padrão também pode ser alterado nas Preferências do Sistema ou com dscl, mas todas as três opções são modificadas /var/db/dslocal/nodes/Default/users/$USER.plist
.
/etc/shells
para incluir o bash instalado pelo brew. Caso contrário (pelo menos na minha máquina), o terminal se recusará a iniciar.
brew install bash
isso funcionar. (ou seja, não precisa modificar /etc/shells
)
Eu posso estar errado aqui, mas até onde eu sei brew
instalar sua própria instância bash
, uma vez que o brew funciona em baixo /usr/local/bin
enquanto os padrões do sistema funcionam em /bin
(e /usr/bin
).
Sobre o Terminal, você pode abrir os shells com seu próprio comando personalizado. Vá para Preferências> Inicialização e selecione Shells abertos com: Comando (caminho completo) . Basta digitar o caminho para o seu novo bash
e vuala!
Espero que ajude!
BTW: Backup! O melhor conselho nessas situações!
Bem antes de fazer qualquer coisa, faça backup do seu arquivo atual (é claro, mas sempre merece ser dito)
sudo cp /bin/bash /bin/bash.3.2.bk
Em seguida, crie um link simbólico para o executável do bash que o Homebrew baixou. Eu acho que vai estar em / usr / local / Cellar, assim
sudo ln -s /usr/local/Cellar/bash/4.2.10/bin/bash /bin/bash
Agora / bin / bash aponta para o arquivo em seu diretório usr / local
Eu acho que é seguro se você apenas lançar
brew install bash
e adicione-o como seu shell padrão
chsh -s /usr/local/bin/bash
pois você está apenas modificando seu usuário atual. No entanto, notei que o meu padrão ~ / .profile é
if [ "/bin/bash" == $BASH ]; then
source ~/.bashrc
fi
portanto, ele precisa ser atualizado. Eu mudei para
if [ "bash" == $(basename $BASH) ]; then
source ~/.bashrc
fi
chsh
não basta. Também o trecho .profile atualizados parece idêntico ao original um
brew install bash
não fosse necessária nenhuma ação adicional. Com o perfil atualizado que compartilhei, isso não acontece. Espero que isso possa ajudar os outros.