J'utilise El Capitan 10.11.3 avec la version bash 3.x, j'ai donc décidé de mettre à jour bash via:
brew install bash
Brew place le nouveau bash sous / 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.
Comme vous pouvez le voir, brew mentionne que je dois mettre à jour /etc/shells
pour utiliser le nouveau bash. Mais après avoir fermé / rouvert le shell actuel bash --version
me dit que maintenant j'utilise déjà 4.3.42 donc je me demande ce qui s'est passé sous le capot que la nouvelle version est automatiquement utilisée?
Réponses:
Vous pouvez utiliser la commande chsh pour changer votre shell. Dans votre cas, avec bash généré par brew, vous devez le régler sur
/usr/local/bin/bash
. Vous devriez également mettre cela/etc/shells
.Quant à votre question
echo $BASH_VERSION
vous dira la version du shell actuel .bash --version
vous indique la version du premier bash de votre$PATH
. Donc, la façon dont vous regardiez la version ne vous indiquait pas la version que vous exécutiez.la source
sudo stat -x /etc/paths
me dit qu'il n'a pas été modifié par brew (vous aurez quand même besoin de sudo). Il faut donc que ce soit par défaut. Et je pense que vous avez raison, après avoir fait vos pas, echo $ BASH_VERSION retourne maintenant 4.3.42. Merci Merm!Maintenant, vous devez voir quelque chose comme ceci:
Définissez maintenant votre shell par défaut:
Maintenant, quittez Terminal et rouvrez-le! Vérifiez si tout va bien?
la source
zsh
etfish
coquilles.