Eu instalei o Mac Ports e sua versão bash no 10.15 Catalina, mas quando abro o terminal, ainda sou recebido com a versão antiga do bash da Apple e estou perdendo todos os ports do Mac que instalei. Eles estão lá, mas apenas na nova versão do bash.
(1) Nas Preferências do Sistema da Apple, na seção Avançado de Usuários e Grupos, inseri o caminho bash das Portas do Mac /opt/local/bin/bash
, mas não teve efeito algum.
(2) Alterar as preferências do Terminal para /opt/local/bin/bash
(veja a sugestão abaixo de Tim Kennedy) também não teve efeito.
Esta é a situação após a aplicação destas duas alterações:
$ echo $BASH_VERSION
5.2.32(1)-release
$ bash -version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin19)
Copyright (C) 2007 Free Software Foundation, Inc.
$ which bash
/bin/bash
Há também um post relacionado « again… bash version mac didn't change », mas ele cobre a versão Homebrew e não Mac Ports e também não resolve esse problema. Ele contém, no entanto, algumas outras informações úteis.
(3) A aplicação da solução do artigo acima mencionado também não teve efeito:
$ chsh -s /opt/local/bin/bash
Changing shell for admin.
Password for admin:
chsh: /opt/local/bin/bash: non-standard shell
$ which bash
/bin/bash
(4) A sugestão de edição do /etc/shells
arquivo também não surtiu efeito.
Finalmente, a sugestão de Marc Wilson sobre o $PATH (veja abaixo) me levou à solução. Meu /etc/paths
inicialmente parecia assim:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Quando coloquei o diretório Mac Ports /opt/local/bin
antes do local bash da Apple /bin
, usando sudo vi /etc/paths
, finalmente consegui. Agora, quando abro o Terminal, recebo:
$ echo $BASH_VERSION
5.2.32(1)-release
$ bash -version
GNU bash, version 5.2.32(1)-release (x86_64-apple-darwin19.6.0)
$ which bash
/opt/local/bin/bash
$ figlet it works
_ _ _
(_) |_ __ _____ _ __| | _____
| | __| \ \ /\ / / _ \| '__| |/ / __|
| | |_ \ V V / (_) | | | <\__ \
|_|\__| \_/\_/ \___/|_| |_|\_\___/
Obrigado a todos!