Qual versão do bash estou executando?

1

Eu tentei alterar o bash padrão no OS X Mavericks,

  • Instalado novo bash trough brew ,
  • executar chsh -s /usr/local/bin/bash ,
  • foi para "Usuários e grupo" garantiu que o shell de login para meus pontos de login para o mesmo, caminho adicionado a /etc/shells , máquina reinicializada.

agora echo $BASH_VERSION mostra 4.2.45(2)-release

mas sh --version ainda diz GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13)

Qual deles é verdadeiro?

E se o segundo, então o que estou fazendo errado, por que ele não mudaria para o bash que eu instalei?

    
por iLemming 23.02.2014 / 09:24

1 resposta

3

Informações da versão

Assim:

$ bash --version
GNU bash, version 4.2.45(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

NOTA: Tenha cuidado, pois sh e bash não são a mesma coisa. sh é o Bourne Shell, enquanto o Bash é Bourne Again Shell.

Onde fica?

Além disso, no seu caso, quando você executar sh , estará captando sh de /bin ou /usr/bin . O Bash que você instalou por meio de brew provavelmente não está no $PATH , está em /usr/local/bin .

Sempre tente habituar-se a consultar o sistema quanto a "onde" no disco de onde vem um determinado executável.

$ type bash
bash is hashed (/usr/bin/bash)

$ type sh
sh is /usr/bin/sh

Expurgando do hash

Para obter o Bash para desvendar a localização de bash , você pode usar o comando hash :

$ hash -d bash
$ type bash
bash is /usr/bin/bash

O $ PATH

Você pode tornar o recém-instalado Bash o preferido, ordenando seu $PATH ligeiramente diferente.

$ export PATH=/usr/local/bin:$PATH
    
por 23.02.2014 / 09:28

Tags