Comme @William l'a dit dans sa réponse, Apple ne fournit pas le bash 4 en raison des restrictions de la GPL. Vous pouvez cependant installer bash 4+ et en faire votre shell par défaut (y compris pour Terminal et iTerm2 ) en procédant comme suit.
Installez Bash 4 via Homebrew
Commencez par installer la nouvelle version de bash. Il y a différentes façons de le faire, je préfère Homebrew.
- Installez Homebrew comme décrit sur http://brew.sh .
- Installez bash en utilisant
brew install bash
.
Bash 4 est maintenant disponible sur votre PATH (en supposant que Homebrew bin est sur votre chemin). Cependant, ce n'est pas encore votre shell par défaut. Vous pouvez trouver où il se trouve en exécutant which bash
. Dans mon cas c'est à /usr/local/bin/bash
.
Utiliser Bash 4
Comme il se trouve sur votre PATH, vous pouvez démarrer une session Bash 4 simplement bash
ou vous pouvez l’utiliser dans des scripts en utilisant un Shebang .
Par exemple, cela utilisera une instance spécifique de bash.
#!/usr/local/bin/bash
...your script...
Cela utilisera la première bash sur le chemin.
#!/usr/bin/env bash
...your script...
Vous pouvez également définir le chemin bash pour des profils spécifiques dans Terminal / iTerm2 en suivant les étapes décrites dans la réponse de @ user136952.
Faire de Bash 4 la valeur par défaut
Comme mentionné ci-dessus, après l’installation de Bash 4 n’est toujours pas le shell par défaut. Pour que bash soit la valeur par défaut, vous devez effectuer deux autres étapes.
Tout d’abord, ajoutez le chemin Bash 4 à votre /etc/shells
fichier pour qu’il s’agisse d’un shell de connexion autorisé. Comme décrit dans / etc / shells , ce fichier contient la liste des shells de connexion valides. Après avoir ajouté le nouveau chemin bash, on /etc/shells
dirait que:
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/bash
Ensuite, nous utilisons chsh pour en faire votre shell par défaut. Ainsi, toutes les sessions de cet utilisateur utiliseront ce shell. Pour plus d'informations à ce sujet, reportez-vous à la section Modification du shell dans Terminal Mac OS X , mais la commande en question est très simple.
chsh -s /usr/local/bin/bash
Maintenant, le nouveau bash est notre shell de connexion par défaut. Si vous ouvrez Terminal ou iTerm2 et exécutez, bash --version
vous devriez voir la nouvelle version. Notez la "Licence GPLv3 +" qui explique pourquoi Apple ne l’associe pas avec macOS.
$ bash --version
GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.6.0)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>