Estoy ejecutando El Capitan 10.11.3 con bash versión 3.x, así que decidí actualizar bash a través de:
brew install bash
Brew coloca el nuevo bash en / 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 puede ver, Brew menciona que necesito actualizar /etc/shells
para usar el nuevo bash. Pero después de cerrar / reabrir el shell actual bash --version
me dice que ahora ya estoy usando 4.3.42, así que me pregunto qué pasó bajo el capó que la nueva versión se usa automáticamente.
Respuestas:
Puede usar el comando chsh para cambiar su shell. En su caso, con brew generado bash, debe configurarlo en
/usr/local/bin/bash
. También deberías poner esto/etc/shells
.En cuanto a su pregunta
echo $BASH_VERSION
le dirá la versión del shell actual .bash --version
te dice la versión del primer bash en tu$PATH
. Entonces, la forma en que mirabas la versión no te decía la versión que estabas ejecutando.fuente
sudo stat -x /etc/paths
me dice que no fue modificado por brew (necesitarás sudo de todos modos). Por lo tanto, debe ser por defecto. Y creo que tienes razón, después de seguir tus pasos echo $ BASH_VERSION ahora devuelve 4.3.42. Gracias merm!Ahora, necesitas ver algo como esto:
Ahora configure su shell predeterminado:
¡Ahora salga de Terminal y vuelva a abrirlo! Comprobar si todo está bien?
fuente
zsh
yfish
shells.