Estou executando o El Capitan 10.11.3 com o bash versão 3.x, por isso decidi atualizar o bash via:
brew install bash
O Brew coloca o novo bash em / usr / local / Cellar / bash:
brew info bash
bash: stable 4.3.42 (bottled), devel 4.4-beta, HEAD
Bourne-Again SHell, a UNIX command interpreter
https://www.gnu.org/software/bash/
/usr/local/Cellar/bash/4.3.42 (59 files, 7.3M) *
Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/bash.rb
==> Dependencies
Required: readline ✔
==> Caveats
In order to use this build of bash as your login shell,
it must be added to /etc/shells.
Como você pode ver, o brew menciona que eu preciso atualizar /etc/shells
para usar o novo bash. Mas, após fechar / reabrir, o shell atual bash --version
me diz que agora eu já estou usando o 4.3.42, então eu me pergunto o que aconteceu sob o capô que a nova versão é usada automaticamente?
Respostas:
Você pode usar o comando chsh para alterar seu shell. No seu caso, com o bash gerado pelo brew, você deve configurá-lo para
/usr/local/bin/bash
. Você também deve colocar isso/etc/shells
.Quanto à sua pergunta
echo $BASH_VERSION
, você verá a versão do shell atual .bash --version
informa a versão da primeira festança no seu$PATH
. Portanto, a maneira como você estava visualizando a versão não estava informando a versão em execução.fonte
sudo stat -x /etc/paths
me diz que não foi modificado pelo brew (você precisará do sudo de qualquer maneira). Portanto, deve ser o padrão. E acho que você está certo, depois de executar seus passos, o eco de $ BASH_VERSION agora retorna 4.3.42. Obrigado Merm!Agora, você precisa ver algo assim:
Agora defina seu shell padrão:
Agora saia do Terminal e abra-o novamente! Verifique se está tudo bem?
fonte
zsh
efish
conchas.