Definir shell padrão como MacPorts bash no Mac OS X 10.6.8?


11

Como acompanhamento da minha pergunta anterior , reinstalei o meu MacPorts e quero tentar sua versão mais recente do bash novamente.

Instalei o mais novo bash via MacPorts no meu sistema Mac OS X 10.6.8, mas quando inicio uma sessão Terminal.app, o comando "sh --version" mostrou que eu ainda estava usando o antigo bash 3.2.48. Isso ocorre mesmo quando "what bash" aponta para o 4.2.37 mais recente instalado pelo MacPorts.

Tentei alterar as preferências do Terminal.app para usar o novo bash como padrão, alterei o / etc / shells e usei o comando chsh para especificar o MacPorts bash como padrão. No entanto, nenhum desses métodos teve êxito. o que estou perdendo? Muito obrigado.


1
Então você já quebrou o shell uma vez e quer ver como fazê-lo novamente? O motivo which bashmostra o shell mais novo, mas você está executando o mais antigo: o shell é iniciado pelo caminho absoluto (/ bin / bash) e não obedece ao caminho. O que não importaria, pois o caminho não está definido para incluir MacPorts até que o .bashrc seja executado.
Alan Shutko

Respostas:


18

sh --versionprovavelmente é o mesmo que /bin/sh --version. Se o shell atual for bash, você poderá ver sua versão com echo $BASH_VERSION. Se você alterar o shell de login padrão com chsh, poderá manter o shell padrão do Terminal como o shell de login.

  1. sudo port install bash
  2. Adicionar /opt/local/bin/basha/etc/shells
  3. chsh -s /opt/local/bin/bash
  4. Abra uma nova guia e marque echo $BASH_VERSION

echo $SHELLindica mais claramente qual shell está sendo executado.
Victor Sergienko
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.